InterfaceBuilder собирается пейзаж - PullRequest
0 голосов
/ 09 марта 2011

У меня есть XIB в построителе интерфейса, который находится в портретном режиме и имеет 5 UILabels на нем, равномерно распределенных по виду. Когда iPhone поворачивается вправо или влево, я хочу, чтобы надписи равномерно распределялись по экрану, чтобы в полной мере воспользоваться дополнительной шириной экрана.

Я могу действительно легко сделать это с одним элементом управления, используя бит Size & Position в Interface Builder, но как мне настроить другие элементы управления для этого?

Это то, что вы должны делать программно?

Спасибо

Mike enter image description here

Ответы [ 2 ]

0 голосов
/ 09 марта 2011

Это зависит от того, как элементы управления расположены вокруг XIB, в большинстве случаев вы должны избегать кодирования, используя свойства, отображаемые в разделе «Авторазмер» в конструкторе интерфейса.В основном все, что вы здесь делаете, может быть сделано в коде с использованием

view.autoresizingMask = UIViewAutoresizing<and the various masks here>

, не забудьте реализовать метод viewDidLoad таким образом, чтобы представление отображало положение элементов

-(void)viewDidLoad{

self.view.autoresizesSubviews = YES;

[super viewDidLoad];

}

также полезным является то, что на ipad встраивание контроллеров представления в навигационный контроллер заставляет ipad справляться с большей частью проблем поворота и изменения размера.

0 голосов
/ 09 марта 2011

Вы можете попытаться сделать это, установив свойство autoresizingMask, которое имеет UIView .Это будет самый простой способ, если вы сможете заставить его делать то, что вы хотите.Вы можете установить это там, где вы создаете или инициализируете свои представления:

view.autoresizingMask = UIViewAutoresizingFlexibleRightMargin;

Возможно, вы не сможете получить точное позиционирование для всех 5 ваших ярлыков таким образом;но вы определенно должны быть в состоянии использовать его хотя бы для некоторых из них.В остальном вы хотите реализовать метод UIViewController willRotateToInterfaceOrientation:duration:.Он будет вызываться всякий раз, когда iPad вращается, и вы можете настроить местоположение ваших меток внутри этого метода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...