实现刷新的拉伸效果

这是一个类似于 QQ 界面下拉刷新的效果,界面以一张图片代替,主体代码很简单

- (void)viewDidLoad
{
    [super viewDidLoad];
    _imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 320, 200)];
    _imageView.image = [UIImage imageNamed:@"image.jpeg"];
    
    UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 20, 320, 460)];
    [scrollView addSubview:_imageView];
    [self.view addSubview:scrollView];
    scrollView.contentSize = CGSizeMake(320, 1000);
    scrollView.delegate = self;
}

//这是个代理方法,当滚动视图在滚动的时候触发
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
    if (scrollView.contentOffset.y < 0)
    {
        // 0+scrollView.contentOffset.y y 方向的坐标在原来的基础上加上滚动视图的偏移量,目的是保证图片相对于窗口的位置不变
        //这里加了一个判断的条件是图片只在下拉的时候变形
        //scrollView.contentOffset.y*2 变形的程度是纵向偏移量的 2 倍
         _imageView.frame=CGRectMake(0, 0+scrollView.contentOffset.y, 320, 200-scrollView.contentOffset.y*2);
    }
//   _imageView.frame=CGRectMake(0, 0+scrollView.contentOffset.y, 320, 200-scrollView.contentOffset.y*2); //如果不加判断条件,则当视图滚动的时候图片都会变形,当用户滑动视图,特别是纵向的偏移量为正值时也发生变形,这是不符合用户预期的。
}

 

posted @ 2014-12-27 20:33  红红de  阅读(209)  评论(0编辑  收藏  举报