Как бы я создал кнопки назад, вперед и обновления для UIWebView программно? - PullRequest
4 голосов
/ 04 сентября 2010

В настоящее время у меня создано веб-представление, но я не хочу использовать интерфейсный конструктор для создания кнопок «назад», «вперед» и «обновить».Как бы я создал эти кнопки программно?Я знаю, как создавать обычные кнопки с кодом, но что касается кнопок делегирования webView, я заблудился и не смог найти в нем много ресурсов.

Ответы [ 4 ]

7 голосов
/ 04 сентября 2010

Из документации UIWebView :

Если вы разрешите пользователю перемещаться назад и вперед по истории веб-страницы, тогда вы можете использовать goBack и goForward методы в качестве действий для кнопок.Используйте свойства canGoBack и canGoForward , чтобы отключить кнопки, когда пользователь не может двигаться в направлении.

При настройке кнопок будет использоваться addTarget:action:forControlEvents: (как указано Sven ):

[myBackButton addTarget:myWebView
                 action:@selector(goBack)
       forControlEvents:UIControlEventTouchDown];

Если вы хотите проявить фантазию и включить / отключить кнопки на основе canGoBack иcanGoForward свойств, вам нужно будет добавить некоторые уведомления KVO в ваш UIController.

1 голос
/ 04 сентября 2010

Вам необходимо установить цель и действие для кнопок, используя addTarget:action:forControlEvents: для вашего веб-вида.

0 голосов
/ 07 октября 2016

Более простой способ включить или отключить кнопки:

- (void)webViewDidFinishLoad:(UIWebView *)webView
{
   [backButton setEnabled:webView.canGoBack];
   [fwdButton setEnabled:webView.canGoForward];
}
0 голосов
/ 09 июня 2016

Чтобы включить / отключить кнопку «Назад» или «Вперед» вместо использования KVO, мы можем использовать следующее «hack»

- (void)webViewDidFinishLoad:(UIWebView *)webView
{

    if ([webView canGoBack])
        [backbutton setEnabled:YES];
    else
        [backbutton setEnabled:NO];

    if ([webView canGoForward])
        [fwdbutton setEnabled:YES];
    else
        [fwdbutton setEnabled:NO];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...