gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 13:26:30 27 4
gpt4 key购买 nike

我正在尝试使用 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/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com