J'ai découvert un comportement étrange dans mon application, où un connecté IBOutlet
a son cadre de vue connecté entre les appels dans mon contrôleur de vue à viewWillAppear:
et viewDidAppear:
. Voici le code pertinent dans ma UIViewController
sous - classe:
-(void)viewWillAppear:(BOOL)animated {
NSLog(@"%@", self.scrollView);
}
-(void)viewDidAppear:(BOOL)animated {
NSLog(@"%@", self.scrollView);
}
et la sortie de journal résultante:
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}>
Ce qui montre clairement que la trame change entre les deux appels. Je voulais faire la configuration avec la vue dans la viewDidLoad
méthode, mais si le contenu n'est pas disponible pour moi de changer jusqu'à ce qu'il soit à l'écran, cela semble assez inutile. Que pourrait-il se passer?