2010-12-17 35 views
3

我一直在试图改变一个pickerView的高度。我希望它显示一行而不是默认的五行。 help me plzUIPicker的高度

+5

这将是疯狂的硬盘在刚一排滚动。 – BoltClock 2010-12-17 11:58:39

回答

-1

你试过执行numberOfRowsInComponent:吗?如果这不会改变尺寸,您是否尝试设置选取器的框架?

PS:我同意 @Ritheesh @BoltClock,一排是不是一个好主意

+0

你的意思是你同意我的看法... – BoltClock 2010-12-17 13:54:01

+0

我的不好!我会编辑... – 2010-12-17 14:10:57

+0

真的吗?!反对票? – 2010-12-20 15:19:50

5
更好

u可以使用PickerView帧这样的,

Pickerview.frame = CGRectMake(30,100,170,200); 

alt text

+1

嘿有人给了我投票权..?如果有任何意见评论的原因请... ...? – 2011-11-17 08:29:52

+1

我没投你一票,但你没有解决这个问题:“我希望它显示一行。” – TigerCoding 2011-11-17 09:09:26

2

你不能。 UIPickerView可以显示5行或3行,具体取决于您传递给-setFrame:方法的帧的高度。当我需要短暂的UIPickerView时,我会传递100的高度。UIKit中的代码会将该高度调整为最接近的允许值。

我还会注意到这是一个很好的理由。正如其他地方已经提到的,一行pickerView将很难滚动。此外,可见行的数量必须是奇数,以便当前选定的行将垂直居中。这意味着3或5行,因为7会让事情太高而无法在iPhone上实用。

另外,这也适用于UIDatePicker出于同样的原因。日期选择器在UIDatePickerModeCountDownTimer中时例外,该选项不支持3行变体。

2

如果你绝对必须有一个行选择器视图:

55高大创建一个UIView大小170宽。

设置视图属性夹子视图= YES

添加一个UIPickerView作为的UIView的子视图。将其原点设置为0,-80.5。

然后添加一个UIImageView大小170,55作为子视图到UIView。将其图像设置为下面显示的图像。

transparent uipickerview frame

(您可以修改图像,使之伸展到水平调整其大小)

最终结果:

single row picker view

+0

+1 Awesome Idea ...我同意你的意见... – 2011-11-17 12:03:44

+0

@Ritheesh你必须接受这个.. – 2011-11-17 12:04:04

+0

感谢您的投票! – TigerCoding 2011-11-17 20:32:36