我的应用程序中有一个页面有2个UIScrollBars对象我将它命名为scrol1和scrol2,scrol1位于scrol2的左边我想实现这个目的;
当scrol2从右向左滚动(从左到右)时,scrol1不滚动,当scrol2从上到下滚动(从下到上)时,scrol1以scrol2同步滚动。我怎么能做到这一点。请提供一些示例或想法。 提前谢谢。
答案 0 :(得分:0)
在创建滚动视图期间,您应该为滚动视图scroll2的contentOffset创建一个键值观察器(KVO)
NSKeyValueObservingOptions options = NSKeyValueObservingOptionNew | NSKeyValueObservingOptionOld;
[scrol2 addObserver:self forKeyPath:@"contentOffset" options:options context:nil];
然后在观察值的方法中,根据您希望的滚动行为滚动滚动视图。
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context {
CGPoint new = [[change objectForKey:@"new"] CGPointValue];
CGPoint old = [[change objectForKey:@"old"] CGPointValue];
// it could be necessary to convert your scroll offset for the other scroll view
[scrol1 setContentOffset:new];
}