在Mac上,视图的简单交叉渐变转换(没有任何自定义关键帧时序)的最佳方法是执行以下摘录:
[[self animator] replaceSubview:aView with:bView];
不幸的是iPhone上没有动画制作者属性。在iPhone上这样做最好的选择是什么?是在每个视图上设置alpha通道吗?示例代码非常好。
感谢。
答案 0 :(得分:0)
在iphone上制作动画视图的基本方法是使用UIView beginAnimations和commitAnimations调用。它们允许您修改视图的可动画属性并对这些更改进行动画处理。
例如,我有一个隐藏的自定义视图,并使用此方法显示:
- (void) showAView:(CustomAView *)aView
{
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.5];
aView.frame = CGRectMake(0.0f, 110.0f , aView.frame.size.width, aView.frame.size.height);
[UIView commitAnimations];
}
- (void) hideAView:(CustomAView *)aView
{
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.5];
aView.frame = CGRectMake(0.0f, self.view.frame.size.height, aView.frame.size.width, aView.frame.size.height);
[UIView commitAnimations];
}
通过在UIView beginAnimations / commitAnimations中包装框架属性更改,更改已应用标准动画。
您可以使用UIView动画类方法为动画添加其他属性,例如。
[UIView setAnimationTransition:UIViewAnimationTransitionCurlDown forView:self.view cache:YES];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];