Я обнаружил странное поведение в своем приложении, где подключенный 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
, но если контент недоступен для меня, чтобы изменить его, пока он не появится на экране, это кажется бесполезным. Что может случиться?