Использование пустого шаблона приложения в 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 0; 0 0); layer = <CALayer: 0x182a00>>
а второй печатает
self.view is <UIView: 0x18e4d0; frame = (0 20; 768 1004); layer = <CALayer: 0x182a00>>
Так между viewDidLoad
и viewDidAppear
, вид изменяется. Какой механизм изменил его размер? Можем ли мы на это рассчитывать? Потому что даже Мэтт Нойбург, автор книги «Программирование iOS, 2-е изд.», Делает это так (как на стр. 508).
если добавить '[[UIApplication sharedApplication] keyWindow] .autoresizesSubviews = Нет,' до конца 'viewDidLoad', вид по-прежнему изменяется –