Jer*_*Hen 3 iphone cocoa-touch uitableview uiscrollview
设置:我有一个UITableView,每个UITableViewCell都有一个UIScrollView.我想要做的是让所有的东西UIScrollViews一起滚动,这样当你滚动其中一个时,所有的东西UIScrollViews都会同时滚动.
我所做的是子类,UITableView因此它有一个包含UIScrollViews在其表格单元格中的所有数组.然后我转发TouchesBegan,TouchesMoved,TouchesCancelled,和TouchesEnded从UITableView所有的UIScrollViews在数组中.
这似乎不起作用.在UIScrollViews不滚动!我设法setContentOffset让它工作的唯一方法是在scrollviews上调用:方法.然而,这是一个非常糟糕的解决方案,因为它没有给你的滑动和减速功能UIScrollView.
关于为什么我的触摸方法没有进入的任何想法UIScrollViews?或者更好的方法来实现这个?
好的,搞定了.感谢Ricki的提示!
要添加到Ricki解决方案中的两件事,如果要避免无限循环,则必须检查是否设置了scrollView的跟踪或拖动属性.这将确保只有实际被拖动的ScrollView才会调用委托.
- (void)scrollViewDidScroll:(UIScrollView *) theScrollView {
if (theScrollView.dragging || theScrollView.tracking)
[self.delegate scrolling:[theScrollView contentOffSet]];
}
Run Code Online (Sandbox Code Playgroud)
此外,在委托的滚动方法中,我将动画设置为NO,这消除了初始滑动和其他滚动视图更新之间的延迟.
| 归档时间: |
|
| 查看次数: |
2827 次 |
| 最近记录: |