首页 > 其他 > 详细

iOS - scrollView与headerView的视差滚动实现思路

时间:2014-01-20 19:45:20      阅读:446      评论:0      收藏:0      [点我收藏+]

假设场景:viewController里面有一个scrollView,该scrollView有一个headerView。现在需要将scrollView的滚动contentOffset与headerView的变化联系起来,实现headerView跟随scrollView的contentOffset动态变化的效果。


 

1、自定义headerView:

  (1)使用一个指针接收viewController里面的scrollView。

  (2)重写willMoveToSuperview,使用KVC模式,为上述scorllView绑定一个Observer

    [self.scrollView addObserver:self forKeyPath:@"contentOffset" options:(NSKeyValueObservingOptionNew) context:nil];设置监听者为headerView本身

  (3)其中headerView监听函数为

-(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context{

    CGPoint newOffset = [change[@"new"] CGPointValue];

    [self updateSubViewsWithScrollOffset:newOffset];

}

这样,在headerView里面可以实时得到scrollView的滚动contentOffSet,就可以做出与scrollView的contentOffset关联的动画效果。

2.viewController里面只需要将scrollView赋值给headerView暴露出来的接口就可以。

iOS - scrollView与headerView的视差滚动实现思路

原文:http://www.cnblogs.com/boch2436/p/3526898.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!