ios - CGAffineTransformRotate 在执行旋转之前移动对象

标签 ios

我正在尝试使用 CGAffineTransformRotateUIButton 的变换制作动画,当它正确执行动画时,它会将按钮向下移动大约 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];

为什么会发生这种转变?该按钮是使用 Interface Builder 创建的,即使我将动画持续时间设置得更长或添加延迟,也会立即发生转换。

最佳答案

我想通了:原来在我的 xib 上选择了“使用自动布局”(它添加了一堆自动约束)在尝试使用转换时搞砸了。关闭它解决了我的问题。

关于ios - CGAffineTransformRotate 在执行旋转之前移动对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12995241/

相关文章:

iphone - NSDate 倒计时天数小时分钟数的问题

ios - 如何从字符串中剪切字符串在 iOS 中有 "abc"

ios - 使用物镜 C 或 C 将音频相位旋转到 180 度

objective-c - UITableViewCell 中的 UILabel 在 Interface Builder 中移动时剪辑内容

ios - 使用 Swift 在整个应用程序中更改 UILabel 文本颜色

ios - Swift 中购物应用程序的加号和减号按钮

ios - 如何修复这个泄漏?

ios - Xcode - 如何修复 'NSUnknownKeyException' ,原因 : … this class is not key value coding-compliant for the key X"error?

iPhone 使用 MFMailComposer 从应用程序发送电子邮件?

iphone - 时钟和日历图标如何工作