可以更改UIPickerView的高度吗?一些应用程序似乎有较短的PickerViews,但设置较小的框架似乎不起作用,并且框架在界面生成器中被锁定。
发布于 2010-07-09 21:28:32
上述方法都不适用于iOS 4.0
选择器视图的高度不再是可调整的。如果您尝试在4.0中更改选取器的框架,则会有一条消息被转储到控制台:
-[UIPickerView setFrame:]: invalid height value 66.0 pinned to 162.0
我最终做了一些相当激进的事情,以获得在OS3.xx和OS4.0中都能工作的较小选择器的效果。我将选择器设置为SDK决定的任何大小,而是在我的背景图像上创建了一个透明的透明窗口,通过该窗口选择器变得可见。然后简单地将选择器放在我的背景UIImageView后面(Z顺序),这样只有一部分选择器是可见的,这是由我背景中的透明窗口决定的。
发布于 2011-06-16 12:55:12
尝试:
pickerview.transform = CGAffineTransformMakeScale(.5, 0.5);
发布于 2011-07-22 03:39:50
在iOS 4.2和4.3中,可以执行以下操作:
UIDatePicker *datePicker = [[UIDatePicker alloc] init];
datePicker.frame = CGRectMake(0, 0, 320, 180);
[self addSubview:datePicker];
以下内容不起作用:
UIDatePicker *datePicker = [[UIDatePicker alloc] initWithFrame:CGRectMake(0, 0, 320, 180)];
[self addSubview:datePicker];
我有一个应用程序,这是在应用程序商店与3行日期选择器。我认为高度的改变可能已经被阻止了,因为你在日期选择器的边框下看到了文本,但这也发生在正常的216高度日期选择器上。
哪一个是bug?我也不清楚。
对于UIDatePicker
(和UIPickerView
) 162.0、180.0和216.0,还有3个有效高度。如果您将UIPickerView
高度设置为其他值,则在iOS设备上调试时,您将在控制台中看到以下内容。
2011-09-14 10:06:56.180 DebugHarness[1717:707] -[UIPickerView setFrame:]: invalid height value 300.0 pinned to 216.0
https://stackoverflow.com/questions/573979
复制相似问题