2010-01-08 2 views
1

Неправильно использоватьНеправильно использовать viewController.view = newView вместо [viewController.view addSubView: newView];

viewController.view = newView;

вместо

[viewController.view addSubView: NewView];

Первый снимает дополнительный уровень в viewControllers создается автоматически вид, и если я создаю NewView как этот

UIView * NewView = [[UIView Alloc] initWithFrame: [[UIScreen В начало] applicationFrame]]; или вот так UIView * newView = [[UIView alloc] initWithFrame: self.view.frame];

addSubview смещает frame.origin.y по высоте строки состояния.

Кто-нибудь знает причину использования или использования какого-либо метода?

ответ

0

Зачем вам это нужно? Если вы хотите создать настраиваемый интерфейс, вы должны добавить свои подпрограммы в методе ViewviewControllers -viewDidLoad.
Я не рекомендую устанавливать вид VC вне метода -loadView.

Когда вы добавляете subview и хотите, чтобы он был того же размера, что и вид VC, вы не должны использовать applicationFrame.

Я предпочел бы использовать [[UIView alloc] initWithFrame: self.view.frame];
Кроме того, вы должны убедиться, что примените маску авторезистировки (гибкая ширина & высота) в случае изменения границ. Это произойдет, например, при отображении VC в popover.