【发布时间】:2015-01-20 01:08:03
【问题描述】:
我在UIScrollView 中有一个不可滚动的UITableView。而且我遇到的问题是,当我触摸一行时,回调didSelectRowAtIndexPath: 不会在第一次点击时被调用,但在第一次点击后一切正常。
一些注意事项:
- 第一次点击后,表格视图正常工作,每次点击都可以在每个单元格中工作。
- 这发生在我滚动 UIScrollView 之后。如果我不滚动 UIScrollView,这永远不会发生。
- 我已经覆盖了 UIScrollView 的
touchesShouldBegin:(NSSet *)touches withEvent:(UIEvent *)event inContentView:(UIView *)view并且事件确实在这里通过了 throw,view是一个UITableViewCellContentView有效。
我只是不知道为什么第一次没有将事件发送到UITableView,而在接下来的事件中它确实发送了。
【问题讨论】:
-
仔细检查以确保您不使用 - tableView:didDeselectRowAtIndexPath: 而不是 didSelectRowAtIndexPath
-
@Vig 是的,在第一次 Tap 之后,我的 didSelectRowAtIndexPath 实现被调用了。
-
为什么要在滚动视图中嵌入不可滚动的表格视图?
-
点击单元格时会发生什么吗?推一个 ViewController 什么的?
-
@sha 因为我使用了 UITableView 的功能和外观。例如,在没有 UITableView 的情况下动态插入和删除行将很难实现。
标签: ios objective-c iphone uitableview uiscrollview