0

我正在开发一个 iOS 应用程序,其中我在 UITableViewCells 中有 UIWebviews。UIWebViews 占据了大约 50% 的单元格,其余的单元格是空白的。当用户点击我的一个单元格时,我需要能够做出响应。我已经尝试实现该- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath方法,但这仅在用户点击我的单元格中不包含 uiwebview 的部分时才会响应。无论用户在我的单元格中的哪个位置录制,有什么方法可以响应点击?

4

4 回答 4

1

您可以将userInteractionEnabled您的属性设置UIWebViewNO,但在这种情况下您将无法滚动它..

于 2012-07-02T19:19:41.400 回答
1

您的设计肯定很糟糕:Apple 在 UIWebView 类参考中明确表示,您不应该将 UIWebViews 添加到表格单元格中。此外,由于 web 视图在内部管理一个 UIScrollView,它捕获所有的触摸。所以做你想做的唯一方法是继承 UIWebView 并覆盖触摸管理方法。这也是不可取的,因为UIWebView 是少数几个不根据 Apple 进行子类化的类之一。

您必须认真重新考虑您的设计模式。

于 2012-07-02T19:20:10.367 回答
0

首先,对您的 webview执行此操作。didSelectRowAtIndexPath然后,在注册点击时调用 tableView 的方法。有点痛苦,但我能想到的唯一方法。这将允许用户以完全正常的方式与 webview 交互,但发送让表格知道正在与哪个单元格交互。如果这不是您想要的,其他答案应该有效。

于 2012-07-02T19:20:04.100 回答
0

尝试将 a 连接UITapGestureRecognizer到您的单元格。

于 2012-07-02T19:20:06.123 回答