如何一键同时控制两个 UIScrollView?
Posted
技术标签:
【中文标题】如何一键同时控制两个 UIScrollView?【英文标题】:How to control two UIScrollViews in the same time with one touch? 【发布时间】:2013-05-08 09:41:30 【问题描述】:任何人都知道如何控制两个滚动视图,同时一个在另一个的顶部。一卷,另一卷也卷。与缩放、手势识别器等一样......有点像将第一个视图接收到的触摸复制品传递到下面的那个。顶部滚动视图的子类对下面的“依赖”滚动视图有一个弱引用。非常重要的是让委托方法适用于两个滚动视图,因为其中有很多逻辑......
【问题讨论】:
【参考方案1】:使用 scrollView 委托方法
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
if([scrollView isEqual:scrollViewA])
CGPoint offset = scrollViewB.contentOffset;
offset.y = scrollViewA.contentOffset.y;
[scrollViewB setContentOffset:offset];
else
CGPoint offset = scrollViewA.contentOffset;
offset.y = scrollViewB.contentOffset.y;
[scrollViewA setContentOffset:offset];
或者简单地在水平和垂直滚动中使用相同的方法
if([scrollView isEqual:scrollViewA])
scrollViewB.contentOffset = scrollViewA.contentOffset;
反之亦然
【讨论】:
以上是关于如何一键同时控制两个 UIScrollView?的主要内容,如果未能解决你的问题,请参考以下文章
两个重叠的 UIScrollView 可以同时处理一个事件吗?
同时滚动两个 UITableView 时 UIScrollView 不流畅?