UITableView上的UIWebView可以防止表单select

我的桌上型电脑上有一个UIWebView。 有大量的内容,它应该是可滚动的。

但是webview防止Tableview didselect委托。 如何克服这一点。 Ihf我使userinteractionenabled = NO; 滚动不起作用。

任何解决scheme,请帮助 提前致谢。

尝试使用hitTest的覆盖

 - (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event { id hitView = [super hitTest:point withEvent:event]; if (hitView == self) { return nil; } else { return hitView; } } 

你的devise绝对不好:Apple在UIWebView类的引用中明确表示,你不应该添加UIWebViews到表格单元格。 另外,由于Web视图在内部pipe理一个UIScrollView,捕获所有的触摸。 所以唯一能做到的就是创buildUIWebView的子类并覆盖触摸pipe理方法。 这也是不可取的,因为UIWebView是根据苹果公司不被分类的几个类之一。

你必须认真重新考虑你的devise模式。

我build议将单元格的大小调整为Web视图的内容大小 。 然后将webView.scrollView.scrollEnabled设置为NO

这允许用户在表格视图中滚动整个内容。 在相同的方向上滚动的两个嵌套的滚动视图是不可取的,因为用户不能容易地定义滚动发生的地方。

至于select行为,我想你将不得不决定是否要单元格select或webView交互(链接窃听等)。 如果你去select单元格,设置webView.userInteractionEnabled = NO应该工作。