Я обнаружил странное поведение в своем приложении, когда подключенный IBOutlet
имеет свой связанный фрейм представления между вызовами в моем контроллере представления к viewWillAppear:
и viewDidAppear:
. Вот соответствующий код в моем UIViewController
подклассе:
-(void)viewWillAppear:(BOOL)animated {
NSLog(@"%@", self.scrollView);
}
-(void)viewDidAppear:(BOOL)animated {
NSLog(@"%@", self.scrollView);
}
и итоговый вывод журнала:
MyApp[61880:c07] <UIScrollView: 0x1057eff0; frame = (0 0; 0 0); clipsToBounds = YES; autoresize = TM+BM; gestureRecognizers = <NSArray: 0x10580100>; layer = <CALayer: 0x1057f210>; contentOffset: {0, 0}>
MyApp[61880:c07] <UIScrollView: 0x1057eff0; frame = (0 44; 320 416); clipsToBounds = YES; autoresize = TM+BM; gestureRecognizers = <NSArray: 0x10580100>; layer = <CALayer: 0x1057f210>; contentOffset: {0, 0}>
Что ясно показывает, что кадр меняется между двумя вызовами. Я хотел выполнить настройку с представлением в viewDidLoad
методе, но если содержимое недоступно для изменения, пока оно не появится на экране, это кажется довольно бесполезным. Что могло случиться?