Nel mio progetto, stavo usando del codice per gestire il pulsante Indietro come segue.navigationController.viewControllers Funziona in modo diverso in iOS 8.2
NSMutableArray *VCs = [NSMutableArray arrayWithArray: self.navigationController.viewControllers];
if ([[VCs objectAtIndex:[VCs count] - 2] isKindOfClass:[LoginViewController class]])
{
[VCs removeObjectAtIndex:[VCs count] - 2];
[VCs removeObjectAtIndex:[VCs count] - 2];
}
[self.navigationController setViewControllers: VCs];
In iOS 7 sto ottenendo il risultato desiderato. Ma per la versione 8.2 di iOS, il valore negli array VC mutabili è solo il current o topViewController nello stack. Ma il pulsante Indietro ti guiderà verso tutti i precedenti controllori di vista. Ma nessuno di essi è presente nello stack di navigazione. C'è qualche cambiamento nella gestione della navigazione in ios8?
Desidero eliminare la schermata di login viewcontroller dallo stack in modo che, facendo clic sul pulsante Indietro, non torni alla schermata di accesso. Sto affrontando questo problema solo in iOS 8.2 (potrebbe essere in iOS 8 e versioni successive). Quale può essere il problema?
Edit:
Nella prepareForSegue:, Sto usando il seguente codice:
if([[segue identifier] isEqualToString:@"mediaDetailSegue1"])
{
MovieDetailViewController *movieDetail;
if(isIOS8SystemVersion)
{
movieDetail = ([[segue destinationViewController]viewControllers][0]);
}
else
{
movieDetail = [segue destinationViewController];
}
movieDetail.videoData = [_mediaContentArray objectAtIndex:selectedIndex];
}
modo per le versioni iOS superiori a 8, il codice
movieDetail = ([[segue destinationViewController]viewControllers][0]);
si chiama . Penso che questo stia causando il problema. Sto sbagliando?
Avete effettuato l'allineamento su entrambe le versioni del sistema operativo e lo stesso scenario di test? – Wain
sì. Nel mio iphone 4s con iOS 7.2, tutti i viewControllers sono visualizzati.Ma quando connetto un iphone 5s con iOS 8.2, il conteggio array è uno solo. Il topViewcontroller è lì nell'array.Ma il pulsante Indietro ti guiderà a tutti i precedenti viewcontrollers.Ma nessuno di loro è presente nello stack di navigazione. C'è qualche cambiamento nella gestione della navigazione in ios8? – abhi1992
Bug abbastanza grande se lo è. Avete qualche altro codice che modifica lo stack? – Wain