In Swift si poteva fare: come @Gaurav Singh ha suggerito nella sua risposta
Passaggio 1: inserire un seguito da ViewControllerA a ViewControllerB. Il seguito dovrebbe iniziare da ViewControllerA stesso e non da alcun controllo (come Button) in esso.
Passaggio 2: Dai un identificatore univoco nello storyboard. Es: seageFromAtoB
Passaggio 3: nel ViewControllerforA.swift scrittura:
if(condition == true) {
self.performSegueWithIdentifier("seageFromAtoB", sender: self)
}
Se si sta eseguendo qualche compito in qualche altro Thread
quindi utilizzando performSegueWithIdentifier
può generare un'eccezione.
Se si ottiene questo errore, allora si dovrebbe usare:
if(condition==true){
NSOperationQueue.mainQueue().addOperationWithBlock {
self.performSegueWithIdentifier("seageFromAtoB", sender: self)
}
}
Ciò eseguire il reindirizzamento segue nella principale Thread
.
Spero che questo aiuto per chi cerca l'opzione Swift per
E 'tuo funzionato per me, ho fatto un segue conditionall da un UITableViewCell, perché alcune cellule deve mostrare una certa visione e di altre cellule altro ... La cosa è che quando torno dal push segue ha perso la messa a fuoco e ripristinato la vista, non tornerà alla cella che ha avviato l'azione. Ho una vista tabella con un controllo segmentato in alto che cambia tra 2 origini dati. Se passo da una uitableviewcell con il secondo indice del controllo segmentato selezionato, quando torno dai successivi, avvia la vista con il primo indice sul controllo segmentato ... – fguespe
@fguespe Stai chiedendo una soluzione al problema o è un commento generale. –
sì, ho bisogno di una soluzione, ma ho avanzato un po 'e capisco non è colpa del seguito condizionale. per i normali successi succede a Il problema è il controllo segmentato che cerca l'indice quando ritorna ma mostra i primi dati del segmento. – fguespe