У меня есть UITableView в моем приложении iOS, и в зависимости от устройства (iPhone или iPad) я измеряю различные элементы в contentViews моего UITableView.
Например, в contentView каждой ячейки есть нечто, называемое valueLabel.В зависимости от устройства, я корректирую его размер:
if(IDIOM == IPAD)
valueLabel = [[[UILabel alloc] initWithFrame: CGRectMake( 430.0, 0.0, 216, 44.0 )] autorelease];
else
valueLabel = [[[UILabel alloc] initWithFrame: CGRectMake( 165.0, 0.0, 80, 44.0 )] autorelease];
Затем я настраиваю метку (цвет, шрифт и т. Д.), И после этого у меня появляются следующие строки кода:
if(IDIOM != IPAD)
valueLabel.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleHeight;
Оказывается, когда я впервые написал это, я был умен для этого.Но я не могу вспомнить почему.Я пытаюсь сделать обновление, которое поддерживает ландшафтный режим на iPhone и iPad.Но только UITableView на iPhone правильно масштабирует в альбомном режиме, потому что для iPad у меня нет авторазмера.Как я могу иметь автоматическое изменение размера на iPad?
Если я уберу условие if(IDIOM != IPAD)
, ярлыки даже не будут отображаться, а мои ячейки пусты.