Отключить взаимодействие в UIWebView, кликать только по ссылке?
Я добавляю UIWebview в табличное представление для отображения текста и ссылки, но не могу прокрутить табличное представление. Любой способ отключить взаимодействие с пользователем в веб-просмотре только при включении события щелчка.
Веб-просмотр имеет статический контент не загружается из Интернета
NSString * htmlString = [NSString stringWithFormat:@"<html><head><script> document.ontouchmove = function(event) { if (document.body.scrollHeight == document.body.clientHeight) event.preventDefault(); } </script><style type='text/css'>* { margin:0; padding:0;} p { color:white; font-family:HelveticaNeue-CondensedBold; font-size:24px;} a { color:#63B604; text-decoration:underline; }</style></head><body><p>%@</p></body></html>", @"search in http://google.com"];
Спасибо
3 ответа
Просто отключите прокрутку или используйте эти методы
- (void)webViewDidFinishLoad:(UIWebView *)webView {
// Disable user selection
[webView stringByEvaluatingJavaScriptFromString:@"document.documentElement.style.webkitUserSelect='none';"];
// Disable callout
[webView stringByEvaluatingJavaScriptFromString:@"document.documentElement.style.webkitTouchCallout='none';"];
}
и откройте ссылку, как следует, используя методы delagate
-(BOOL) webView:(UIWebView *)inWeb shouldStartLoadWithRequest:(NSURLRequest *)inRequest navigationType:(UIWebViewNavigationType)inType {
if ( inType == UIWebViewNavigationTypeLinkClicked ) {
NSURL *url = [inRequest URL];
if ([[url absoluteString] rangeOfString:@"gmail"].location == NSNotFound) {
[[UIApplication sharedApplication] openURL:[inRequest URL]];
return NO;
}
}
return YES;
}
Я получил ответ с сайта http://nickharris.wordpress.com/2010/06/17/fast-uitableviewcell-with-a-uiwebview/
Попробуйте отключить прокрутку в вашем WebView
[myWebView.scrollView setScrollEnabled:NO];
[myWebView.scrollView setBounces:NO];