Ich habe in meiner Anwendung ein seltsames Verhalten festgestellt, bei dem eine verbundene IBOutlet
Ansicht den Rahmen ihrer verbundenen Ansicht zwischen den Aufrufen in meinem Ansichtscontroller an viewWillAppear:
und hat viewDidAppear:
. Hier ist der relevante Code in meiner UIViewController
Unterklasse:
-(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 viewDidLoad
Methode 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?