У меня есть пользовательский UIViewController и соответствующее представление в файле пера. Представление добавляется к UIWindow непосредственно.
[window addSubview:customViewController.view];
Размеры окна и представления являются значением по умолчанию (480x320 и 460x320 соответственно).
Когда я создаю CustomViewController в файле пера, и проверка "Изменяют размер Представления От NIB" на вкладке IB Attributes, все работает просто великолепно.
Но когда я создаю CustomViewController programmmatically с сообщением initWithNibName, представление не расположено на окно правильно. Внизу существует пустая дорожка. Его высота составляет 20 пкс. Я вижу, что это из-за смещения строки состояния.
Дескрипторы IB, что с "Изменяют размер Представления От NIB". Как эмулировать это программно?
Кажется, что IB использует некоторый пользовательский подкласс UIViewController. Так вопрос: как, "Изменяют размер Представления От NIB", реализованного там?
Когда я хочу убедиться, что представление охватывает весь экран, я делаю что-то вроде этого:
- (void) viewWillAppear: (BOOL) animated
{
[super viewWillAppear:animated];
[[self view] setFrame:[[UIScreen mainScreen] bounds]];
}
Чувствуется, что это хак, поэтому я делаю это только в крайнем случае, когда не могу заставить представление вести себя иначе :)