swift - NSLayoutConstraint 动画立即完成

标签 swift nslayoutconstraint

我有一个非常简单的项目,我想为标签上的右边距设置动画,但是当我尝试时,它会立即完成。

@IBAction func onDo(sender:UIButton)
{
    self.view.setNeedsLayout()
    self.testConstraint.constant = 40.0

    UIView.animateWithDuration(2.0, animations: { () -> Void in

        self.view.setNeedsLayout()

        }) { (complete:Bool) -> Void in

    }
}

项目在这里:

https://www.dropbox.com/s/9a0v0906riunkww/test2222.zip?dl=0

我是否漏掉了一些明显的东西?

更新#1

这似乎是 UILabels 的一个问题,标准的 UIView 或 UIButton 动画很好......那么 UILabel 有什么问题?

更新 #2

如果我将 UILabel View Content Mode 设置为 Center,那么它工作正常,但看起来不是很流畅...很奇怪。

最佳答案

我在这里可能偏离了主题,但在我看来,您的动画例程似乎只是执行 setNeedslayout,这将导致屏幕立即重绘。您需要更改 UIView 的一些动画参数才能看到移动的东西。可能像 self.view.frame 一样。列出了 UIView 的动画属性 here .

关于swift - NSLayoutConstraint 动画立即完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35371992/

相关文章:

swift - 带有反向选项的 OptionSet

swift - 布局约束使 NSView 的行为类似于 NSImageView 中的 NSImage

json - 如何使用 Swift 和 Alamofire 连接 http 服务器

swift - ReactiveKit Bond KVO 观察 UserDefaults

ios - 协议(protocol)不适用于容器

ios - Xcode 6.3.2 - 无法在 Layout Builder 约束中输入负值

ios - Gif 未出现在手动输入的约束上

ios - 登录后主屏幕中的导航栏未出现

ios - 为什么我无法在我的 View 上安装约束?

ios - UISearchBar 忽略编程约束