拖动最后一页时,UIScrollView淡出

时间:2014-02-15 17:06:26

标签: ios uiscrollview

我正在使用最新的SDK开发iOS 7应用程序。

我有一个UIScrollView,里面有三个ImageViewUIScrollViewcontentSize设置为{960, 568}(每个ImageView的大小为{320,958}。)

我可以完美地拖动三张图片,但是当用户在最后一张图片上从右向左拖动时,我想要隐藏UIScrollView

为此,我使用了UIScrollViewDelegate

- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
    if (scrollView.contentOffset.x > 640)
        scrollView.hidden = YES;
}

但是这段代码会立即隐藏它,我希望显示以下效果:

  • 图像淡出时,继续从右向左拖动图像。

我该怎么做?

2 个答案:

答案 0 :(得分:2)

如果要使淡入淡出效果与内容偏移成比例,请使用以下方法:

- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
    if (scrollView.contentOffset.x > 640)
    {
        scrollView.alpha = 1 / (scrollView.contentOffset.x - 639);
    }

    // then remove / hide the view completely at a particular offset
    // ....

}

您可以更改分区以使动画更加/不顺畅。这更顺畅:

scrollView.alpha = 2 / (scrollView.contentOffset.x - 638);

答案 1 :(得分:0)

[UIView animateWithDuration:0.3 animations:^{
     self.scrollView.alpha = 0.0;
 } completion:^(BOOL finished) {
     // remove the scrollView from your view
      if(finished) {
          [self.scrollView removeFromSuperview];
       }
 }];

希望这会有所帮助