Eventuali duplicati:
UIViewController returns invalid frame?diversi layout visualizzazione secondaria in viewDidLoad e viewWillAppear
Durante il debug ho notato che in viewDidLoad
chiamare il mio vista della montatura è origin=(x=0, y=20) size=(width=320, height=460)
che non è preciso. Nella chiamata viewWillAppear
è configurata correttamente: origin=(x=0, y=0) size=(width=320, height=416)
prendendo in considerazione l'altezza della barra di navigazione. Il layout delle mie sottoview dipende dalla vista radice, ma non voglio impostarle ogni volta che verrà visualizzata la vista.
Come dovremmo gestire queste due chiamate?
Occupati di loro esattamente come sei stato. Guarda l'installazione in -viewWillAppear, perché è quella che tiene conto dell'altezza della barra di navigazione, quindi esegui l'inizializzazione in -viewDidLoad. – CodaFi