Ho scoperto uno strano comportamento nella mia applicazione, in cui un connesso IBOutlet
ha il frame della sua vista connessa tra le chiamate nel mio controller della vista a viewWillAppear:
e viewDidAppear:
. Ecco il codice pertinente nella mia UIViewController
sottoclasse:
-(void)viewWillAppear:(BOOL)animated {
NSLog(@"%@", self.scrollView);
}
-(void)viewDidAppear:(BOOL)animated {
NSLog(@"%@", self.scrollView);
}
e l'output del registro risultante:
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}>
Il che mostra chiaramente che il frame sta cambiando tra le due chiamate. Volevo fare la configurazione con la vista nel viewDidLoad
metodo, ma se il contenuto non è disponibile per la modifica fino a quando non è sullo schermo, sembra piuttosto inutile. Cosa potrebbe succedere?