我正在尝试为 a 的变换设置动画UIButton
,CGAffineTransformRotate
当它正确执行动画时,它会在执行此操作之前将按钮向下和向左移动约 15 个像素。这是执行动画转换的代码:
[UIView animateWithDuration:0.5 delay:0.0 options:UIViewAnimationOptionTransitionNone
animations:^{
self.addCloseButton.transform = CGAffineTransformRotate(self.addCloseButton.transform, degreesToRadians(45));
}
completion:nil];
当我反转转换时,它会做同样的事情,只是在动画之前将其移回原始位置(向上 15 个像素,向右 15 个像素),我使用以下代码执行此操作:
[UIView animateWithDuration:0.5 delay:0.0 options:UIViewAnimationOptionTransitionNone
animations:^{
self.addCloseButton.transform = CGAffineTransformIdentity;
}
completion:nil];
为什么会发生这种转变?该按钮是使用界面生成器创建的,即使我将动画持续时间设置得更高或添加延迟,也会立即发生转变。