我正在使用最新的SDK开发iOS 7应用程序。
我有一个UIScrollView
,里面有三个ImageView
。 UIScrollView
将contentSize
设置为{960, 568}
(每个ImageView
的大小为{320,958}。)
我可以完美地拖动三张图片,但是当用户在最后一张图片上从右向左拖动时,我想要隐藏UIScrollView
。
为此,我使用了UIScrollViewDelegate
:
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
if (scrollView.contentOffset.x > 640)
scrollView.hidden = YES;
}
但是这段代码会立即隐藏它,我希望显示以下效果:
我该怎么做?
答案 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];
}
}];
希望这会有所帮助