2011-11-21 66 views
1

我有一个UIScrollView包含UIImageViews。在UIScrollView动画转换

我想动画使用淡入淡出风格的视图之间的过渡。所以,如果我们在索引0,并且我们继续前进,索引1处的图像将显示OVER图像0.

任何帮助?

谢谢!

+0

如果你想使用淡化效果视图之间转变,什么是一个UIScrollView收留他们的目的是什么? – Krumelur

+0

@Krumelur因为默认行为是经典的UIScrollView,但有一个“幻灯片放映”模式使用这种淡化效果。 –

+0

它是一个棘手的问题,因为您正在移动滚动视图的内容偏移量以显示新视图,因此难以同时淡化转换。你可以做的是在你要滚动的视图之上画一个当前视图的副本,调整内容偏移量以将滚动视图设置到它的新位置,然后淡出你的副本,暴露它后面的视图。 – Ben

回答

0

两个视图之间的衰落非常简单的方法:

saveFrame = self.imageView2.frame; 
self.imageView2.frame = self.imageView1.frame; 
self.imageView2.alpha = 0; 
[UIView beginAnimations:nil context:nil]; 
[UIView setAnimationDuration:1.0]; 
self.imageView1.alpha = 0; 
self.imageView2.alpha = 1; 
[UIView commitAnimations]; 
+0

但imageView1和imageView2有不同的frame.origin.x,它们在UIScrollView中,所以只更改alpha不能解决问题。 –

+0

难道你不能在[UIView beginAnimations ...]之前移动视图吗?或作为动画的一部分。 – Krumelur

+0

我已经解决了这个想法。我不得不将imageView1移动到imageView2的框架,然后将其恢复。 –