【发布时间】:2016-03-15 15:51:12
【问题描述】:
我正在开发一个 iOS 应用程序,它用于 UITableView 的一个视图。 当单元格被触摸时,我想将它们从默认大小(常量)调整为实际大小(存储在选项卡中)。
我首先尝试将此代码放在didSelectRowAtIndexPath 函数中,但从未调用此函数...
我浏览了一些教程,我的班级已经有了这个: - 我的课程扩展了 UITableViewDelegate、UITableViewDataSource - 在 ViewDidLoad 我有这个代码:
self.tableView.delegate = self
self.tableView.dataSource = self
self.tableView.allowsSelection = true
我可能知道问题出在哪里。我的 UITableView 是分组的,每个部分由一个单元格组成。 每个单元格都是一个自定义单元格,其中包含一个 UIWebView。总结一下 : 我的视图 > tableView > MyCellCustom > MyWebViewCustom
我读到触动的事件可能已被 WebView “吃掉”。如何知道问题是否来自于此?如何避免这种情况?
顺便说一句,我什至不确定问题是否来自于此。我只是感到沮丧,因为我经常使用didSelectRowAtIndexPath,而我从来没有遇到过这种麻烦。
然后,我尝试像这样将UITapGestureRecognizer 添加到我的所有 UIWebView 中:
let indicationTap = UITapGestureRecognizer()
indicationTap.delegate = self
indicationTap.addTarget(self, action: "SingleTap:")
indicationTap.numberOfTapsRequired = 1
indicationTap.numberOfTouchesRequired = 1
self.indication.webView.scrollView.addGestureRecognizer(indicationTap)
然后这个函数:
func SingleTap(gestureRecognizer:UIGestureRecognizer){
print("touch detected")
}
但它仍然无法正常工作... 我不知道出了什么问题以及在 UIWebView 中处理触摸事件的最佳方式是什么。
提前感谢您的回答, 祝你今天过得愉快。 汤姆。
【问题讨论】:
-
嗨汤姆,如果可以删除用户交互到 web 视图
-
addGestureRecognizerincellForRowAtIndexPath为每个 Web 视图查看是否是问题所在。 -
您好,我了解您的问题。由于 webview,触摸忽略。采取点击手势并将此点击手势添加到每个单元格中的 web 视图。然后你可以处理 webview 上的点击。为了更好地理解,请参阅link
-
我尝试添加 TapGestureRecognizer,但它也没有工作......我已经更新了我的问题,让你看看我做了什么
标签: ios swift uitableview uiwebview didselectrowatindexpath