하나의 HTML 페이지를로드하는 웹보기가 하나 있습니다. 처음에는 각 페이지에 색인과 같은 링크가있는 문서를 가지고 있습니다.웹보기가 링크를 클릭 할 때 shouldStartLoadWithRequest를 호출하지 않습니다.
요구 사항 : 웹보기 콘텐츠 URL을 클릭하면 기본 사파리 응용 프로그램 즉 앱 외부에서 해당 링크를 엽니 다.
내 문제 : 콘텐츠 링크를 클릭하면 링크가 하이퍼 링크로 감지되어 사파리 브라우저 외부에서 열립니다. 홈 버튼을 두 번 클릭 -> 내 앱 선택 -> 같은 링크를 다시 클릭하면 앱 브라우저에 콘텐츠가 표시됩니다. 즉, 콘텐츠로 스크롤됩니다. shouldStartLoadWithRequest 대리자 메서드를 사용하고 있지만 두 번째 시나리오에서는 호출되지 않습니다.
내 질문 : 어떻게 둘 다 얻을 수 있습니까? 일부 URL을 클릭하면 외부 앱에서 열립니다. 위의 경우에는 페이지 내용을 표시하기 위해 아래로 스크롤해야합니다. 아래
샘플 코드 :
- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType
{
switch (navigationType) {
case UIWebViewNavigationTypeFormSubmitted:
// request was caused by an image that's being loaded
break;
case UIWebViewNavigationTypeBackForward:
// request was caused by an image that's being loaded
break;
case UIWebViewNavigationTypeReload:
// request was caused by an image that's being loaded
break;
case UIWebViewNavigationTypeFormResubmitted:
// request was caused by an image that's being loaded
break;
case UIWebViewNavigationTypeLinkClicked: {
// user clicked on link
[[UIApplication sharedApplication] openURL:request.URL];
return NO;
}
case UIWebViewNavigationTypeOther:
// request was caused by an image that's being loaded
break;
}
return YES;
}
어떤 도움?
질문을 삭제하십시오. – gran33
UIWebView의 대리자가 설정되어 있습니까? – Amandir
+1에서 @ gran33. 영어 실력을 향상 시키십시오. – kelin