У меня есть один веб-просмотр, в котором я загружаю одну HTML-страницу. У него есть документ, где каждой странице предоставляется ссылка (например, индекс) в начале.Веб-просмотр не вызывает shouldStartLoadWithRequest при щелчке по ссылке
Требование: при нажатии на URL содержимого веб-представления откройте эту ссылку в приложении safari по умолчанию, т.е. вне приложения.
Моя проблема: когда я нажимаю ссылку на контент, он обнаруживает ее как гиперссылку и открывает ее в браузере наружного сафари. Если я дважды нажимаю на кнопку «домой» -> выберите мое приложение -> нажмите на ту же ссылку еще раз, то он покажет мне контент в браузере приложения, то есть прокручивается до этого содержимого. Я использую метод делегата 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