У меня есть действие «didSelectRowAtIndexPath», которое добавляет панель навигации и отображает новое представление. В новом представлении есть действие, которое подталкивает другое представление к стеку навигации, и оно работает, но нажатие «назад» не восстанавливает предыдущее представление.Кнопка возврата UINavigationItem возвращается к предыдущему элементу навигации, но просмотр не изменяется
Последовательность в основном:
- пользователь щелкает ячейку таблицы
- панель навигации появляется с новым видом под ним, показывая некоторые HTML со ссылками
- пользователь нажимает на ссылку и новый вид добавляется нав, наряду с кнопкой назад
- пользователь нажимает кнопку назад, нав откатывает правильно, но вид не меняется
Новый вид добавляется путем захвата нажмите на ссылку, как так:
- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType {
if(navigationType == UIWebViewNavigationTypeLinkClicked) {
UINavigationItem *navigationItem = [[UINavigationItem alloc] initWithTitle:@"webpage"];
[flipsideNavigationBar pushNavigationItem:navigationItem animated:YES];
[navigationItem release];
WebViewController *viewController = [[WebViewController alloc] initWithNibName:@"webView" bundle:nil];
UIView *webPageView = self.webViewController.view;
[webPageView addSubview:viewController.view];
[webPageView insertSubview:flipsideNavigationBar aboveSubview:viewController.view];
[[viewController.view.subviews objectAtIndex:1] loadRequest:request];
[webView stopLoading];
return YES;
}
return YES;
}
Я не уверен, что я делаю неправильно; что должно произойти, кнопка «назад» должна отменить текущее представление и вернуться к предыдущему. Может ли кто-нибудь предложить что-нибудь попробовать?
Спасибо!
Джон
благодарит за хорошую информацию. Это потребовало немного перезаписи, но теперь это работает. – John