我的tablecells上有一个UIWebView。内容很大,应该可以滚动。
但是webview会阻止Tableview选择委托。如何克服这一点。如果我使userinteractionenabled = NO;滚动无效。
任何解决方案请帮忙。提前谢谢。
答案 0 :(得分:1)
尝试使用hitTest
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event
{
id hitView = [super hitTest:point withEvent:event];
if (hitView == self) {
return nil;
} else {
return hitView;
}
}
答案 1 :(得分:0)
你的设计绝对不好:Apple在UIWebView类引用中明确指出,不应该将UIWebViews添加到表格单元格中。此外,由于Web视图在内部管理UIScrollView,它捕获所有触摸。因此,做所需的唯一方法是继承UIWebView并覆盖触摸管理方法。这也是不可取的,因为根据Apple,UIWebView是少数不属于子类的类之一。
你必须认真重新考虑你的设计模式。
答案 2 :(得分:0)
我建议将单元格的大小调整为Web视图的content size。然后将webView.scrollView.scrollEnabled
设置为NO
。
这允许用户仅在表格视图中滚动整个内容。不建议在相同方向滚动两个嵌套滚动视图,因为用户无法轻松定义滚动发生的位置。
至于选择行为,我想您必须决定是否要进行单元格选择或webView交互(链接点击等)。如果您选择单元格,请设置webView.userInteractionEnabled = NO
。