W moim projekcie użyłem kodu do obsługi przycisku Wstecz w następujący sposób.navigationController.viewControllers Działa inaczej w systemie iOS 8.2
W systemie iOS 7 uzyskuję pożądany wynik. Ale dla wersji 8.2 systemu iOS wartość w tablicach wirtualnych tablicy zmiennych jest tylko bieżącym lub topViewController w stosie. Ale przycisk wstecz będzie nawigował do wszystkich poprzednich kontrolerów view. Ale żaden z nich nie jest obecny w stosie nawigacyjnym. Czy jest jakaś zmiana w obsłudze nawigacji w ios8?
Chcę usunąć kontroler widoku ekranu logowania ze stosu, aby po kliknięciu przycisku Wstecz nie wracał do ekranu logowania. Mam do czynienia z tym problemem tylko w iOS 8.2 (może w iOS 8 i wyżej). Jaki może być problem?
Edit:
W prepareForSegue:, używam następujący kod:
if([[segue identifier] isEqualToString:@"mediaDetailSegue1"])
{
MovieDetailViewController *movieDetail;
if(isIOS8SystemVersion)
{
movieDetail = ([[segue destinationViewController]viewControllers][0]);
}
else
{
movieDetail = [segue destinationViewController];
}
movieDetail.videoData = [_mediaContentArray objectAtIndex:selectedIndex];
}
więc dla wersji iOS powyżej 8, kod
movieDetail = ([[segue destinationViewController]viewControllers][0]);
nazywa . Myślę, że to powoduje problem. Czy robię to źle?
byłaś zalogowany tablicę na obu wersjach systemu operacyjnego i tym samym scenariuszu testowym? – Wain
Tak. W moim iphone 4s z ios 7.2, wszystkie viewControllery wyświetlają się. Ale kiedy podłączam iphone 5s z ios 8.2, conunt array jest jeden.nie tylko topViewcontroller jest tam w tablicy.Ale tylny przycisk będzie nawigował ciebie do wszystkich poprzednich kontrolerów podglądu. Ale żaden z nich nie jest obecny w stosie nawigacji. Czy jest jakaś zmiana w obsłudze nawigacji w ios8? – abhi1992
Całkiem duży błąd, jeśli tak jest. Czy masz jakiś inny kod, który modyfikuje stos? – Wain