2013-07-02 6 views
0

Скажем, у меня может быть UIWebView отображается страница, содержащая link. Когда пользователь нажимает на ссылку, возможно ли инициировать событие для обновления native UI? Например, когда пользователь нажимает на ссылку, я хочу изменить значение прогресса в UIProgressView. Есть какой-либо способ сделать это? Спасибо!Как сделать ответ на приложение iOS для события click в UIWebView?

+1

Что такое 'WebUIView', вы имеете в виду' UIWebView'? – Popeye

+0

http://stackoverflow.com/questions/15537320/invoke-method-in-objective-c-code-from-html-code-using-uiwebview/15541607#15541607 посмотреть на этот вопрос – Vinodh

ответ

0

Вам необходимо реализовать webView: shouldStartLoadWithRequest: navigationType: метод протокола.

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType 
{ 
    // the request variable contains the request the user clicked on. 
} 
2

Попробуйте использовать этот метод:

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType { 
    return TRUE; 
} 

и вы можете проверить значение navigationType:

enum { 
    UIWebViewNavigationTypeLinkClicked, 
    UIWebViewNavigationTypeFormSubmitted, 
    UIWebViewNavigationTypeBackForward, 
    UIWebViewNavigationTypeReload, 
    UIWebViewNavigationTypeFormResubmitted, 
    UIWebViewNavigationTypeOther 
}; 
0

Вы можете использовать обнаружение событий касания в UIWebView методами делегата ниже

- (void) touchesBegan:(NSSet*)touches withEvent:(UIEvent*)event { 
    NSLog(@"Touches began"); 
} 
- (void) touchesMoved:(NSSet*)touches withEvent:(UIEvent*)event { 
    NSLog(@"Touches moved"); 
} 
- (void) touchesEnded:(NSSet*)touches withEvent:(UIEvent*)event { 
    NSLog(@"Touches ended"); 
} 
- (void) touchesCancelled:(NSSet*)touches withEvent:(UIEvent*)event { 
    NSLog(@"Touches cancelled"); 
} 

Вы должны добавить UIWebView, охватывающий основной вид и добавляющий пользовательский класс, который расширяет UIWindow для захвата событий касания.

Вы можете найти пошаговый учебный блог here.