我正在使用两个UIScrollView
实例(cardScrollView
和tileScrollView
)创建基本的视差效果,就像iOS7应用切换器一样。我以不同的速度滚动一个,就像这样:
if ([scrollView isEqual:self.tileScrollView]) {
[self.cardScrollView setContentOffset:CGPointMake((self.tileScrollView.contentOffset.x + 110) * TILE_CARD_DELTA,
self.cardScrollView.contentOffset.y)];
}
滚动tileScrollView
时此功能正常。但是,我希望反向工作,这意味着我可以滚动cardScrollView
并相应地移动tileScrollView
。我遇到的问题是,调用setContentOffset
实际上导致cardScrollView
调用scrollViewDidScroll
本身,这意味着他们不断尝试同时设置对方,以及各种地狱挣脱。
基本上,这里的问题是scrollView
个实例都依赖于同一个scrollViewDidScroll
,所以我无法区分它们中的两个。
我怎样才能绕过这个?
答案 0 :(得分:0)
您将在此方法中获得两者的参考,并按照要求工作:
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
if (scrollView == self.tileScrollView) {
// do something
}
else {
// do something
}
}