我最近遇到了我的应用程序的问题。
我通常使用
[UIView animateWithDuration:(NSTimeInterval) animations:^{...} completion:^(BOOL finished) {...}];
制作我的动画,它一直运作到现在。这是我的问题代码
UIImageView *someimage = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"someimage"]];
[someimage setFrame:CGRectMake(0, 0, 200, 200)];
[self.view addSubView:someimage];
[UIView animateWithDuration:0.5 animations:^{
[someimage setFrame:CGRectMake(400, 400, 200, 200)];
} completion:^(BOOL finished) {
NSLog(@"Just finish moving some image lets rotate it!");
[UIView animateWithDuration:0.5 animations:^{
someimage.transform = CGAffineTransformMakeRotation(M_PI);
} completion:^(BOOL finished) {
NSLog(@"What just happened?");
}];
}];
我有一个图像,我使用动画从一个角落移动到另一个角落。然后,当动画结束时我旋转它,但当我进行旋转时,UIImageView再次出现在角落。
有人可以解释一下为什么会发生这种情况以及如何处理它?</ p>
谢谢!
答案 0 :(得分:3)
UIView类引用说:
警告如果transform属性不是identity变换,则为 此属性的值未定义,因此应忽略。
同时更改视图(或图层)帧及其变换不会按预期工作。相反,请更改视图的中心属性。