Ho la seguente configurazione nella mia app: Il mio controller di visualizzazione iniziale è un UITabBarController. le schede:Utilizzo di più copie dello stesso controller di visualizzazione in uno storyboard
1) UINavigationController-> PostListVC
2) UINavigationController-> CategoriesListVC
3) UINavigationController-> PostListVC
4) UINavigationController-> PostListVC
5) UINavigationController-> MoreViewController
Come puoi vedere, 3 schede contengono la stessa classe viewController, ma non dovrebbero contenere lo stesso oggetto controller di visualizzazione: la visualizzazione mostrerà informazioni diverse in base alle informazioni ottenute da AppDelegate.
Quello che ho fatto è che ho creato 5 UINavigationControllers, li ho collegati a uitabbarcontroller, quindi ho creato un rootViewController segue per 3 di essi alla stessa vista PostListVC - in questo modo non ho bisogno di mantenere 3 disegni della stessa vista.
Il problema che ottengo è che solo il primo PostListVC viene creato correttamente (il più a sinistra nella barra delle schede) - le altre schede che puntano a un PostListVC mostrano solo uno schermo nero.
Ho cercato di illustrare il modo in cui wire-up storyboard usando un esempio 3-tab:
Come si può vedere, sia la superiore più e-più bassi viste sono collegati a PostListVC.
Non so quale sia il problema. Presumo che io stia usando gli storyboard in modo un po 'sbagliato.
Qualcuno sa come posso risolvere questo problema?
Grazie!
EDIT: ho creato un semplice, esempio di progetto (Xcode 5) che illustartes questo problema:
http://www.speedyshare.com/Srwfg/TabBarProblem.zip
EDIT 2: Una versione modificata dell'esempio, che mostra il problema con la soluzione offerta: http://speedy.sh/JkdGC/TabBarProblem-2.zip
Non esiste alcun modo per creare tabBarItem diversi con questo metodo, e non c'è modo di posizionare i barItems in modo che non siano in una riga, anche se si tenta di ignorare l'ordine dei follower.
Non ci sono abbastanza informazioni qui per qualcuno da aiutare ma nulla nell'immagine suggerisce un errore. Suggerisco di aggiungere alcuni 'NSLog's a ciascun View Controller (probabilmente' viewDidLoad') per assicurarsi che le informazioni corrette vengano passate e che venga istanziata la classe UIViewController corretta. Nota che ognuno dovrebbe essere unico. È l'unico modo per eseguire il debug di qualcosa di così complesso. –
Sia viewDidLoad che loadView vengono richiamati solo una volta - Probabilmente il PostListVC non viene istanziato correttamente, ma non so perché. – Niv
Alcune cose da verificare: la classe è impostata correttamente all'interno di IB? Cosa ne dice NSLog in PostListVC? La vista è collegata in IB? Non sono sicuro di poter aiutare oltre queste domande. –