Ho un ViewController che aggiunge alle altre viste secondarie che hanno sottoclasse UIViewControllersviewDidAppear/viewWillAppear non essere chiamato
quindi è come questo:
mainViewController
|
v---------v
subVC1 subVC2
E nemmeno subVC1 o subVC2 hanno la viewDidAppear/viewWillAppear sparato su loro? Il controller della vista principale viene creato nel delegato dell'app e viene aggiunto anche lì alla finestra.
Ecco un progetto Xcode per mostrare il mio problema: http://www.qfpost.com/download.do?get=92f03538907e72665ea794d98ff8392b
Davvero, non ho mai dovuto farlo prima? –
Nel tuo esempio, aggiungi la vista del tuo subVC2 alla vista del tuo mainViewController. Questo non chiama viewDidAppear, perché questo metodo viene chiamato quando lo aggiungi all'oggetto "finestra" dell'applicazione. Altri due errori che hai fatto nel tuo esempio: inizializzi il tuo subVC2 con il metodo "init". Penso che tu voglia usare quello che hai costruito nel pennino. È necessario utilizzare initWithNibName: bundle: method. Ultima cosa, potresti voler rilasciare subVC2 quando hai aggiunto la sottoview, perché non tieni alcun riferimento ad esso. – Julien
Oh non intendevo usare un pennino, ma non dovrei rilasciare subVC2 perché ho solo passato la vista di subvc2 al metodo addsubview non all'intero viewcontroller? E 'anche questo su VW/DA su iPhone, perché giuro che non è mai successo prima a me. –