Поведение кнопки назад NavBar - PullRequest
0 голосов
/ 14 апреля 2011

У меня есть приложение с контроллером навигации.Когда приложение запускается, загружается табличное представление, щелкая строку, открывается веб-представление, загружающее страницу (назовем эту страницу1).Страница1 может содержать ссылки, пользователь нажимает на ссылку и загружается новая страница (страница2).Затем пользователь хочет вернуться на страницу 1 и нажимает кнопку «Назад» на панели навигации.Нажатие кнопки «Назад» приводит его к просмотру таблицы, а не к странице 1.

Как я могу изменить это поведение или перехватить кнопку возврата?

Ответы [ 3 ]

1 голос
/ 14 апреля 2011

UIWebView имеет свойство 'goBack' & 'goForward' Я бы порекомендовал вам создать отдельные кнопки для просмотра назад и вперед. Выполните следующие действия для этих кнопок.

  • (void) actionBackButtonPressed {

    [myWebView goBack];

}

- (Недействительными) actionForwardButtonAction {

[myWebView goForward];

}

1 голос
/ 14 апреля 2011

Вам нужно управлять навигацией UIWebView самостоятельно, используя методы делегата и пользовательский интерфейс, как уже упоминали другие.Чтобы ответить на ваш вопрос о кнопке «Назад» на элементе навигации, вы не можете переопределить поведение кнопки «Назад» по умолчанию, но вы можете поместить свою собственную кнопку в элементе навигации (обычно в viewDidLoad) с помощью:

UIBarButtonItem *myBackButton = [[UIBarButtonItem alloc] initWith...
self.navigationItem.leftBarButtonItem = myBackButton;
[myBackButton release];

Вы можете выбрать, какой init... метод UIBarButtonItem лучше всего подходит для вашего приложения.Вы можете использовать эту кнопку вместе с вашим веб-представлением, если хотите, но IMHO было бы странно смешивать навигационную парадигму UIWebView с навигационной парадигмой UINavigationController.Однако это ваше приложение, поэтому просто пытаюсь добавить его на панель инструментов.

Также обратите внимание, что нет способа создать UIBarButtonItem, который выглядит как стандартная кнопка возврата.Если вы хотите использовать конусный стиль «стрелка назад», вам нужно будет предоставить собственные изображения кнопок.

0 голосов
/ 14 апреля 2011

У нас есть UIWebViewDelegate метод, который отслеживает загрузку контента в webView. Таким образом, когда пользователь нажимает на любую ссылку на странице1. Вы должны использовать - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType метод. В этом методе просто создайте еще один новый viewController (такой же, как на странице 1) и нажмите newController с loadRequest.

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...