如何同步无限的 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 后面如何与 UIView 交互

通过代理监听UIScrollView的滚动事件 Objective-C语言

UIScrollView 无限滚动 setContentOffset

UIScrollView 帮助

UIScrollView 内的可选 UITableViewCells

IOS 管理键盘 - 上移 UIScrollView 内容