Questa è la mia prima app che utilizza storyboard/segues, e sono abbastanza sicuro che la risposta a questo è facile, ma lo farò essere il più completo possibile nel descrivere il mio problema.Impostazione di un identificatore per un segmento di Xcode Storyboard in un UITabBarController, e ottenere un puntatore al suo controller di visualizzazione
Sto facendo una semplice app che ha una scena di controller Tab Bar e due controller di visualizzazione.
mia app lancia per essere inviato un URL da un'altra applicazione. Il metodo application:openURL:sourceApplication:annotation:
nel delegato app esegue alcuni lavori di determinare
- scheda cui visualizzare per primi, e
- quali informazioni da visualizzare su di esso.
Il mio obiettivo è quello di utilizzare il metodo performSegueWithIdentifier
(Sono aperto alle alternative però) dall'interno del AppDelegate per selezionare la scheda, e trovare anche un modo per inviare un metodo per l'istanza del controller della vista creato dallo storyboard.
numero 1 è che non riesco a impostare un identificatore. Quando seleziono la scheda "relazione" non ci sono scelte disponibili nell'Inspector degli attributi (dice "Non applicabile"). Come posso impostare un nome per questo seguito? Posso? O c'è qualche regola in base alla quale UITabBarController segues non possono essere avviati a livello di programmazione?
numero 2 è che non riesco a trovare un modo per avere un puntatore al controller di visualizzazione. Pre-storyboard Vorrei alloc
e init
un nuovo controller di visualizzazione e quindi configurarlo, ma qui se lo faccio, non viene visualizzato quando la mia app si avvia (penso che questo sia dovuto al fatto che Storyboard sta visualizzando un'istanza diversa della stessa vista controller.)
So che questo post è lungo, ma mi sento come se mi mancasse qualcosa di semplice. Che cos'è?
Questa domanda suggerisce l'utilizzo di 'instantiateViewControllerWithIdentifier'. Ciò crea una nuova istanza del controller della vista, quindi le modifiche apportate ad esso (ad esempio l'impostazione del testo su UILabels, ad esempio) non vengono visualizzate all'avvio dell'app. A meno che non imposti il controller della vista sul controller della vista "root", nel qual caso il TabBar non appare più. –