如何同步无限的 UIScrollView?
Posted
技术标签:
【中文标题】如何同步无限的 UIScrollView?【英文标题】:How two synchronize infinite UIScrollViews? 【发布时间】:2015-04-10 20:17:46 【问题描述】:我正在尝试使用 Xcode 6.3 构建无限时间线。我有两个同步的、无限的 ScrollView。一个滚动视图显示内容,另一个显示日期。带有天数的滚动视图仅在 x 方向滚动。内容滚动视图双向滚动。日滚动视图应始终可见(作为标题)。
我使用 Apple StreetScroller 方法进行无限滚动。对于同步,我使用以下代码:
- (void)setSynchronizedScrollView:(UIScrollView*)scrollview
// don't retain the watched view, because we assume that it will
// be retained by the view hierarchy for as long as we're around.
synchronizedScrollView = scrollview;
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
CGPoint offset = synchronizedScrollView.contentOffset;
offset.x = self.contentOffset.x;
[synchronizedScrollView setContentOffset:offset];
两个滚动视图不同步滚动?解决这个问题的最佳方法是什么?
感谢您的帮助!
【问题讨论】:
你到底面临什么问题? 【参考方案1】:将此委托添加到您的班级:UIGestureRecognizerDelegate
对象-C:
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
斯威夫特:
func gestureRecognizer(gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWithGestureRecognizer otherGestureRecognizer: UIGestureRecognizer) -> Bool
重写此函数并返回 true
【讨论】:
这没有帮助...该函数被调用,但两个 ScrollView 不同步滚动。我将它添加到 UIScrollView 的子类中(两个滚动视图都属于这种类型)。感谢您的帮助! 您确实在每种情况下都退回了它,对吗?并实施了委托?没有委托它不会工作以上是关于如何同步无限的 UIScrollView?的主要内容,如果未能解决你的问题,请参考以下文章
通过代理监听UIScrollView的滚动事件 Objective-C语言
UIScrollView 无限滚动 setContentOffset