方法setAnimationDuration对我的代码没有影响,我的动画太快了。这是代码
[UIView beginAnimations:nil context:nil];
image1.frame=CGRectMake(0, 0, 0,image1.frame.size.height);
image2.frame=CGRectMake(image2.frame.size.width, 0, 0,image2.frame.size.height);
[UIView setAnimationDuration:10];
[UIView setAnimationDelegate:self];
[UIView commitAnimations];
答案 0 :(得分:6)
您需要在更改可设置动画的属性之前设置持续时间值。
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:10];
image1.frame=CGRectMake(0, 0, 0,image1.frame.size.height);
image2.frame=CGRectMake(image2.frame.size.width, 0, 0,image2.frame.size.height);
[UIView setAnimationDelegate:self];
[UIView commitAnimations];
针对方法setAnimationDuration:
的UIView状态的Apples类引用中的讨论您必须在更改视图的可动画属性之前调用此方法。默认值为0.2秒。
这就是为什么你会得到非常快的动画。
这种动画风格不受ios4的限制,所以如果上述方法不起作用,请尝试使用新的动画块样式。
答案 1 :(得分:0)
使用以下方法为视图添加动画:
[UIView animateWithDuration:2.0 animations:^()
{
//Your code here
}];
或者使用这种方法:
[UIView transitionWithView:super.view duration:1.0 options:UIViewAnimationOptionTransitionCurlUp animations:^
{
//your code here
}completion:NULL
];