实现刷新的拉伸效果

这是一个类似于 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); //如果不加判断条件,则当视图滚动的时候图片都会变形,当用户滑动视图,特别是纵向的偏移量为正值时也发生变形,这是不符合用户预期的。

}

 

你可能感兴趣的:(实现)