luv*_*ere 13 iphone size uipickerview
如何根据应用程序当前运行的设备的分辨率和方向以编程方式获取UIPickerView实例的默认高度?
如果新设备支持不同的屏幕分辨率,我希望不对此参数使用硬编码值,从而确定此组件具有不同的默认大小.
Dav*_*idA 15
André看到的警告似乎不再发生(XCode 4.2; iOS SDK 5.0).如果你创建它initWithFrame并给它一个零的高度,你可以从frame.height属性读回它的高度:
uiPickerView = [[UIPickerView alloc] initWithFrame:CGRectMake(0, 77, 320, 0)];
DLog(@"uiPickerView=%@",uiPickerView);
Run Code Online (Sandbox Code Playgroud)
得到:
uiPickerView=<UIPickerView: 0x9a28c40; frame = (0 77; 320 216); layer = <CALayer: 0x9a28d00>>
Run Code Online (Sandbox Code Playgroud)
所以216是默认高度.
我在标题中找不到这个的定义,所以读回来似乎是最安全的方式.
可以设置一个非零高度的框架,但Apple说不这样做,它似乎会导致渲染问题.
如果您创建高度为 0 的实例,它将被适当的默认高度覆盖,您只需获取其frame.size.height.
然而,在 iPad 上这会发出警告(几天前测试过)。我最终不得不对 iPad 使用硬编码值......
PS 这是针对 UIDatePicker 的;不确定 UIPickerView 是否完全相同。
| 归档时间: |
|
| 查看次数: |
17994 次 |
| 最近记录: |