在页面中,我使用滚动视图来显示两个视图。要滚动到每个视图,我必须以不同的方式更改背景alpha(或者我必须显示不同的图像)。
如何在滚动时从一个图像到第二个图像进行过渡效果?
我想要与推特iPhone应用程序个人资料页面顶部滚动视图转换完全相同。
答案 0 :(得分:2)
您将不得不将某个对象设置为UIScrollViewDelegate,然后重载函数scrollViewDidScroll:
。然后,您可以获取scrollview的当前偏移量,并根据需要设置UI中的任何变量。
-(void)scrollViewDidScroll:(UIScrollView *)scrollView
{
//(Whatever you want to do here based off of scrollView.contentOffset)
}
或者,您可以在同一个委托中使用scrollviewDidEndScrolling
函数,但这不会为您提供实时Alpha混合或背景更改。它只会在滚动视图停止移动时触发。
答案 1 :(得分:1)
更改背景颜色或UIView的alpha,如下所示:
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
CGFloat alpha = scrollView.contentOffset.x/320*0.8 ; // 0.8 is the maximum alpha allowed /
self.myView.backgroundColor = RGBACOLOR(0, 0, 0, alpha);
//self.myView.alpha = alpha;
}
答案 2 :(得分:0)
如果要在滚动查看时更改背景,则应覆盖以下两个功能:
-(void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView;
-(void)scrollViewWillEndDecelerating:(UIScrollView *)scrollView;