UIScrollView 中的触摸事件发送到后面的 tableview
Posted
技术标签:
【中文标题】UIScrollView 中的触摸事件发送到后面的 tableview【英文标题】:Touch event in UIScrollView send to back tableview 【发布时间】:2011-01-12 21:53:42 【问题描述】:我有一个检测触摸的问题。
我用 TableView 放了一个视图。当我选择一行时,使用 ScrollView 添加新视图。 ScrollView放在TableView上,但是是一个带有clearColor背景的ScrollView,可以看到后面的TableView。我需要触摸 ScrollView 并发送触摸以检测为用户选择的行。
我可以在 ScrollView whit touchBegan 中检测到触摸,并将触摸发送到后面的 tableView 视图,但是 didSelectRow 没有检测到触摸,只有在我将其他 touchBegan 放入 tableView 视图时才检测到触摸,但我需要发送触摸以选择所选行。
非常感谢!!
First View
-----------------------------
- - -
- - -
- T - -
- A - -
- B - -
- L - -
- E - -
- V - -
- I - -
- E - -
- W - -
- - -
- - -
-----------------------------
Second View --> ##### is the ScrollView area on tableView FirstView
-----------------------------
- -###### -
- -###### -
- -###### -
- -###### -
- -###### -
- -###### SCROLL -
- -###### VIEW -
- -###### -
- -###### -
- -###### -
- -###### -
- -###### -
- -###### -
-----------------------------
######我需要触摸这个位置并选择后面tableView中的行。
【问题讨论】:
【参考方案1】:当您确定需要在滚动视图的 touchesBegan 方法中传递触摸时,调用
[self.nextResponder touchesBegan:touches withEvent:event];
将事件沿链向下传递,而不是尝试直接调用父视图的 touchesBegan 方法。
【讨论】:
谢谢约翰!但不要为我工作:(,我使用这些行,我把 self.nextResponder 或 super 或 [self superview] 但不工作,如果我在第一个视图中放置一个方法 touchesBegan 只能捕获事件,但是未选择 tableview 单元格,因为没有调用 de didSelectionRow。 这仅在顶视图是后视图的子视图时才有效,如果两者在同一层次结构中则无效。以上是关于UIScrollView 中的触摸事件发送到后面的 tableview的主要内容,如果未能解决你的问题,请参考以下文章
检测 UIScrollView 中的滚动事件并发送到 UITableView 或其他 UIScrollView