使用上的Xcode 4.3.2空應用程序模板,創建一個項目,所以沒有參與NIB。誰調整了我的觀點? (iOS上)
在FooViewController.m
:
-(void) loadView {
UIView *view = [[UIView alloc] init];
view.backgroundColor = [UIColor yellowColor];
self.view = view;
}
因此,一個視圖被實例化並分配給self.view
。兩種方法:
- (void)viewDidLoad {
[super viewDidLoad];
NSLog(@"self.view is %@", self.view);
}
-(void) viewDidAppear:(BOOL)animated {
NSLog(@"self.view is %@", self.view);
}
而第二個打印出
self.view is <UIView: 0x18e4d0; frame = (0 20; 768 1004); layer = <CALayer: 0x182a00>>
所以viewDidLoad
和viewDidAppear
之間,該視圖被調整大小的第一種方法將打印出
self.view is <UIView: 0x18e4d0; frame = (0 0; 0 0); layer = <CALayer: 0x182a00>>
。調整它的機制是什麼?我們可以指望它嗎?因爲即使馬特紐伯格,高度重視的書籍編程iOS,第二版的作者,這樣做(如第508頁)。
如果我添加了'[[UIApplication的sharedApplication] keyWindow] .autoresizesSubviews = NO;'到viewDidLoad'的'年底,觀點依然是調整 –