3

我必须创建一个包含 14-16 个组件的 UIPickerView。一切都初始化并运行良好,但是,我在右侧得到一个奇怪的黑条(见图),这浪费了已经很紧的空间。

有没有办法摆脱它?还有没有办法摆脱组件之间的所有黑色间距和组件内部的灰线?

谢谢你。

在此处输入图像描述

(UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:     
(NSInteger)component reusingView:(UIView *)view
{
    UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 30, 30)];
    [label setText:[numArray objectAtIndex:row]];
    [label setTextAlignment:UITextAlignmentCenter];
    [label setFont:[UIFont boldSystemFontOfSize:14]];
    [label setBackgroundColor:[UIColor clearColor]];
    return label;
}
4

1 回答 1

0

您的选择器视图的宽度是多少?你是怎么设置宽度的?宽度是固定的还是你使用了类似的东西(考虑横向模式) CGRectGetHeight([UIScreen mainScreen].applicationFrame) // use this as width in landscape mode

然后你会将该宽度除以选择器视图的数量(14-16)。使用这种宽度的选择器视图,您不应该有那个黑条。

如果您确实做了我刚刚写过的事情,并且我猜您做到了,那么如果您以编程方式创建了所有这些(正如您所拥有的),那可能是状态栏空间。在故事板之外创建 ui 组件时,某些组件将自身定位在 0.0f,20.0f 用于状态栏。其中一些是 UINavigationController。

于 2012-10-10T14:37:45.973 回答