我一直在尝试更改pickerView的高度。我希望它显示一行而不是默认的五行。 帮帮我PLZ
答案 0 :(得分:5)
更好的是你可以像这样使用PickerView Frame,
Pickerview.frame = CGRectMake(30,100,170,200);
答案 1 :(得分:2)
你做不到。 UIPickerView
可以显示5行或3行,具体取决于传递给-setFrame:
方法的帧的高度。当我需要一个短UIPickerView
时,我将传递100的高度.UIKit中的代码会将该高度调整为最接近的允许值。
我还会注意到这是有充分理由的。如其他地方所述,一行pickerView将非常难以滚动。此外,可见行的数量必须为奇数,以便当前选定的行将垂直居中。这意味着3或5行,因为7会使事情太高而不能在iPhone上实用。
顺便说一下,出于同样的原因,这也适用于UIDatePicker
。例外情况是日期选择器位于UIDatePickerModeCountDownTimer
,不支持3行变体。
答案 2 :(得分:2)
如果你绝对必须有一行选择器视图:
创建一个大小为170宽,55高的UIView。
设置视图属性clip subviews = YES
添加UIPickerView作为UIView的子视图。将其原点设置为0,-80.5。
然后将UIImageView大小为170,55作为子视图添加到UIView中。将其图像设置为如下所示。
(您可以修改图像并使其可伸缩以水平调整大小)
最终结果:
答案 3 :(得分:-1)
您是否尝试实施numberOfRowsInComponent:
?如果这不会改变大小,你是否试图设置选择器的框架?
ps:我同意 @Ritheesh @BoltClock,一行不是个好主意