Интерфейсный Разработчик: Изменение размера Представления от NIB - PullRequest
11 голосов
/ 09 июня 2010

У меня есть пользовательский UIViewController и соответствующий вид в nib-файле. Представление добавляется в UIWindow напрямую.

[window addSubview:customViewController.view];

Размеры окна и вида являются значениями по умолчанию ( 480x320 и 460x320 соответственно).

Когда я создаю CustomViewController внутри nib-файла и проверяю «Изменение размера представления из NIB» на вкладке IB Attributes все работает просто отлично.

Но когда я создаю CustomViewController программным способом с сообщением initWithNibName , представление неправильно позиционируется в окне. Внизу пустая полоса. Его высота 20 пикселей. Я вижу, это из-за смещения строки состояния.

IB обрабатывает это с помощью «Изменение размера представления из NIB» . Как эмулировать это программно?

Похоже, что IB использует некоторый пользовательский подкласс UIViewController. Итак, вопрос: как там реализовано «Изменение размера из NIB»?

1 Ответ

1 голос
/ 09 июня 2010

Когда я хочу убедиться, что представление охватывает весь экран, я делаю что-то вроде этого:

- (void) viewWillAppear: (BOOL) animated
{
    [super viewWillAppear:animated];
    [[self view] setFrame:[[UIScreen mainScreen] bounds]];
}

Похоже на хак, поэтому я делаю это только в крайнем случае, когда могу 'чтобы заставить представление вести себя иначе:)

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