【发布时间】:2012-05-06 23:46:09
【问题描述】:
我有两个 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];
委托方法
- (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];
}
}
【问题讨论】:
-
你真的尝试过使用scrollViewDidScroll吗?
-
我当然试过了。委托方法调用太晚,UIScrollView1 停止到晚,在 UIScrollView2 之后几秒。
-
???怎么能迟到?应该在滚动视图将其内容移动到新坐标之前调用它......如果它迟到了,某处出了问题......发布你的代码
-
它们在什么意义上“相互叠加”?按原点的 y 属性还是按两个子视图但一个覆盖另一个或一个是另一个子视图?
-
@user1212112 听起来有点像你使用 scrollViewDidEndScrollingAnimation
标签: iphone ios cocoa-touch uiscrollview uikit