类淘宝详情页的视差滚动简单实现

具体思路是在scrollview里定义2个subview, subview1显示图片,subview2显示详情

@interface ViewController : UIViewController

@property (weak, nonatomic) IBOutlet UIView *subview1;
@property (weak, nonatomic) IBOutlet UIView *subview2;
@property (weak, nonatomic) IBOutlet UIScrollView *scrollview;

@end

在滚动scrollview时动态改变subview1的center, 

- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
    static float oldY = 0;
    float newY = scrollView.contentOffset.y;
    
//    if(newY < 0)
//        newY = 0;	// 回弹效果
    
    if(newY > oldY){
        CGPoint point = _subview1.center;
        point.y += 0.75 * fabsf(newY - oldY);
        _subview1.center = point;
    }
    else if(newY < oldY){
        CGPoint point = _subview1.center;
        point.y -= 0.75 * fabsf(newY - oldY);
        _subview1.center = point;
    }
    oldY = newY;
}


你可能感兴趣的:(类淘宝详情页的视差滚动简单实现)