Odkryłem dziwne zachowanie w mojej aplikacji, w której podłączony IBOutletma ramkę widoku połączonego między wywołaniami w moim kontrolerze widoku do viewWillAppear:i viewDidAppear:. Oto odpowiedni kod w mojej UIViewControllerpodklasie:
-(void)viewWillAppear:(BOOL)animated {
NSLog(@"%@", self.scrollView);
}
-(void)viewDidAppear:(BOOL)animated {
NSLog(@"%@", self.scrollView);
}
i wynikowy wynik dziennika:
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}>
Co wyraźnie pokazuje, że ramka zmienia się między dwoma wywołaniami. Chciałem zrobić konfigurację z widokiem w viewDidLoadmetodzie, ale jeśli zawartość nie jest dostępna do zmiany, dopóki nie pojawi się na ekranie, wydaje się to całkiem bezużyteczne. Co mogło się dziać?