Получение сигналов от uiwebview - PullRequest
0 голосов
/ 30 ноября 2011

Есть ли возможность получить сигнал от uiwebview?

В моем случае я отображаю веб-страницу в веб-просмотре.Когда пользователь нажимает кнопку на веб-сайте, мое приложение должно (также) реагировать на это.

Спасибо за помощь

Ответы [ 2 ]

2 голосов
/ 30 ноября 2011

Да, вы можете сделать это. Реализация

– webView:shouldStartLoadWithRequest:navigationType:

Это делегат . Этот метод вызывается всякий раз, когда ваше веб-представление собирается сделать запрос. Так что теперь, когда кто-то нажимает кнопку на вашей веб-странице, вы получите вызов этого метода. После того, как вы поймаете этот вызов, вы можете делать с ним все, что захотите. Например, перенаправить ссылку через ваши собственные серверы или зарегистрировать запрос к вашему серверу об активности пользователя и т. Д.

Пример - здесь вы пытаетесь перехватить любые ссылки, нажимаемые на вашей веб-странице, и сначала пройти через myMethodAction.

- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType
{ 
    if(navigationType == UIWebViewNavigationTypeLinkClicked)
    {
         if(overrideLinksSwitch.on == TRUE)
         {
             [self myMethodAction];
             [myWebView stopLoading];
             return YES;
         }
        else
        {
            return YES;
        }
    }
    return YES;
}

Надеюсь, это поможет ...

0 голосов
/ 30 ноября 2011

UIWebViewDelegate предоставляют несколько методов.Я использовал один из них, как это

-(BOOL) webView:(UIWebView *)inWeb shouldStartLoadWithRequest:(NSURLRequest *)inRequest navigationType:(UIWebViewNavigationType)inType {
    if ( inType == UIWebViewNavigationTypeLinkClicked ) {
        // do stuff
        return NO;
    }

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