objective-c - 为什么按钮不能在动画中移动?

标签 objective-c ios animation uianimation

我想点击_transitButton调用onTransitButtonDidClick移动_rightView。 问题是按钮不能像我设置的那样执行 self.transitButton.frame = CGRectMake(0, 0, 30, 20);

更新:

_transitButton 原始帧是 (0,280,30,20) 结果是,按钮从原始帧移动到 (0,0,30,20),但很快又移回原点。 怎么又回去了?

为什么以及如何解决这个问题?

- (IBAction)onTransitButtonDidClick:(id)sender {
    [UIView animateWithDuration:0.3
                      delay:0.0
                    options:UIViewAnimationCurveEaseInOut
                 animations:^{
                     [_rightView setFrame:CGRectMake(40,0,320,548)];
                     [_transitButton setFrame:CGRectMake(0,0,30,20];
                 }
                 completion:nil];
}

最佳答案

您正在 xib 中使用自动布局,并且约束将按钮保持在原位。 对于动画,它似乎可以工作,因为没有针对动画评估约束。

因此,要么为此 xib 关闭 AUTOLAYOUT,要么修改适当的约束。

(我用一个小的示例应用程序试过了,仅此而已。)

关于objective-c - 为什么按钮不能在动画中移动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13430277/

相关文章:

ios - 在 UILabel 中更改字体时 UILabel 大小计算不正确

javascript - React Spring - 渲染之间的动画元素

animation - Redux/Flux(使用 ReactJS)和动画

java - Android 在未完成 Activity 的情况下执行退出动画

ios - UIImage 通过选择另一个 UIImage 的一部分

objective-c - 如何使用 Objective C 返回 CGPoints 数组

ios - 有人可以解释为什么这段代码是错误的吗?

objective-c - 如何处理 '[<__NSCFString 0x2f1730> valueForUndefinedKey:]: this class is not key value coding-compliant for the key $oid' 错误

ios - 重新加载除一个单元格之外的表格 View

ios - 来自谷歌驱动器的 objective-c 列表文件