Предупреждение, которое увидел Андре, похоже, больше не возникает (XCode 4.2; iOS SDK 5.0).Если вы создадите его с помощью initWithFrame
и зададите ему высоту, равную нулю, вы сможете затем прочитать его высоту из свойства frame.height
:
uiPickerView = [[UIPickerView alloc] initWithFrame:CGRectMake(0, 77, 320, 0)];
DLog(@"uiPickerView=%@",uiPickerView);
дает:
uiPickerView=<UIPickerView: 0x9a28c40; frame = (0 77; 320 216); layer = <CALayer: 0x9a28d00>>
Таким образом, 216 является высотой по умолчанию.
Я не смог найти определение для этого в заголовках, поэтому чтение его обратно представляется наиболее безопасным способом.
Возможно установить кадрс ненулевой высотой, но Apple говорит, что не делайте этого, и это, кажется, вызывает проблемы рендеринга.