Ich habe in meiner Anwendung ein seltsames Verhalten festgestellt, bei dem eine verbundene IBOutletAnsicht den Rahmen ihrer verbundenen Ansicht zwischen den Aufrufen in meinem Ansichtscontroller an viewWillAppear:und hat viewDidAppear:. Hier ist der relevante Code in meiner UIViewControllerUnterklasse:
-(void)viewWillAppear:(BOOL)animated {
NSLog(@"%@", self.scrollView);
}
-(void)viewDidAppear:(BOOL)animated {
NSLog(@"%@", self.scrollView);
}
und die resultierende Protokollausgabe:
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}>
Dies zeigt deutlich, dass sich der Frame zwischen den beiden Aufrufen ändert. Ich wollte das Setup mit der Ansicht in der viewDidLoadMethode durchführen, aber wenn der Inhalt nicht verfügbar ist, um ihn zu ändern, bis er auf dem Bildschirm angezeigt wird, scheint dies ziemlich nutzlos zu sein. Was könnte passieren?