4
我注意到,有時在viewDidLoad我得到了正確的視圖大小。有時候我沒有。我應該初始化我viewController on viewDidLoad或viewWillLayoutSubviews
例如
- (void)viewDidLoad
{
[super viewDidLoad];
self.pullToRefreshController = [self.pullToRefreshController initWithDelegate:self];
PO(self.view);
PO(self.view.superview);
PO(self.view.superview.superview);
PO(self.view.superview.superview.superview);
while(false);
}
-(void)viewWillLayoutSubviews
{
PO(self.view);
PO(self.view.superview);
PO(self.view.superview.superview);
PO(self.view.superview.superview.superview);
while (false);
}
在viewDidLoad中self.view的大小仍然是320到480.在已固定viewWillLayoutSubviews。
我想知道在兩者之間會發生什麼,我應該在什麼地方初始化東西?或者什麼東西應該在viewDidLoad以及什麼東西應該在viewWillLayoutSubviews中?
完美。這也是一個確保我們的觀點符合超級觀點的好地方(如果有包裝) –
「你應該只在這裏佈置觀點。」 「僅」,你的意思是不要在這裏創建視圖? – Honey
@Honey不要在'viewWillLayoutSubviews'中創建視圖。 – rmaddy