我有两个 UIScrollView,它们在彼此之上。
UIView
|
--------------------------
| |
UIScrollView1 UIScrollView2
我希望它以下列方式工作。如果我滚动 UIScrollView2,UIScrollView1 也应该按相同的 contentOffset 滚动。它必须同步完成,所以使用 scrollViewDidScroll
不是一个选项。你们知道怎么做吗?
源代码
_prContentGridView = [[PRContentGridView alloc] initWithFrame:frame];
_prContentGridView.minimumZoomScale = 0.25;
_prContentGridView.maximumZoomScale = 2.0;
_prContentGridView.delegate = self;
_prBackgroundGridView = [[PRBackgroundGridView alloc] initWithFrame:frame];
[self addSubview:_prBackgroundGridView];
[self addSubview:_prContentGridView];
委托(delegate)方法
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
if (_prContentGridView.scrollEnabled == YES) {
CGPoint p = CGPointMake(scrollView.contentOffset.x - _prevousContentOffsetOfContentScrollView.x, scrollView.contentOffset.y - _prevousContentOffsetOfContentScrollView.y);
[_prBackgroundGridView setContentOffset:p animated:YES];
}
}
最佳答案
使用 UIScrollViewDelegate 协议(protocol)方法:
- (void)scrollViewDidScroll:(UIScrollView *)scrollView{
if (scrollView == UIScrollView1){
UIScrollView2.contentOffset = scrollView.contentOffset;
}else{
UIScrollView1.contentOffset = scrollView.contentOffset;
}
}
关于iphone - 两个 UIScrollViews,同步滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10330110/