2014-03-12 6 views
0

제목에서 알 수 있듯이. 아주 간단하게 들리지만, 어떻게해야 하는지를 가르치는 자원을 찾지 못했습니다. 꽤 많이, 사용자가 UIWebView에서 UIActionSheet을 가져올 때마다 하이퍼 링크를 탭하여 메서드를 호출하고 싶습니다. 어떻게해야합니까?사용자가 UIWebView에서 UIActionSheet를 열면 감지합니다.

+0

태그가있는 태그에 위임 방법을 사용하십시오. –

+0

나는 당신이 무엇을 의미하는지 정확히 모르겠다. 좀 더 정교한 대답을 올리시겠습니까? – Charles

답변

-2

UIWebView 대리자에서이 작업을 수행 할 수 있습니다.

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType 
{ 
    NSURL *requestURL = [ request URL]; 

    if (navigationType == UIWebViewNavigationTypeLinkClicked) 
    { 
     // Call your method here 
     return NO; 

    } 

    return YES; 
} 
+0

나는 이것을 시도해보고 NSLog를 if (navigationType == UIWebViewNavigationTypeLinkClicked) 문에 넣었다. 하이퍼 링크를 누르고 있으면 UIActionSheet가 나타나지만 NSLog는 콘솔에 표시되지 않습니다. 나는 이것이 효과가 있다고 생각하지 않는다. ** 편집 : ** 또한, 'return NO;'는 내 하이퍼 링크를 모두 끊어 원하는 웹 페이지를 실제로로드하지 않습니다. 이건 내가 원하는 건 아니야. – Charles

+0

그리고 네가 return YES를 넣는다면? – samir

+0

@samir, 이것은 UIWebView가 링크로 가고 싶을 때를 위임하는 방법이며 Action Sheet를 표시하는 것과 같은 내부 작업은 수행하지 않습니다. 나는 원래 질문에 대한 답을 모르지만 - 직접 찾아 본다. –

관련 문제