Odkryłem dziwne zachowanie w mojej aplikacji, w której podłączony IBOutlet
ma ramkę widoku połączonego między wywołaniami w moim kontrolerze widoku do viewWillAppear:
i viewDidAppear:
. Oto odpowiedni kod w mojej UIViewController
podklasie:
-(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 viewDidLoad
metodzie, 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ć?