Swift - 当标题有变量时 UIButton 动画不工作

Swift - UIButton animation doesn't work when title has a variable

我正在尝试为 UIButton 设置动画。 UIButton 已隐藏,我想向上滑动以显示它。

同时,我正在用计数器更改它的标题"Number: (self.number)"

标题变了,但是动画没有效果。如果我尝试将标题更改为像 "title" 这样的普通字符串,它会起作用...

我的代码:

var number = 0

func moveBtn(){
    self.number = self.number + 1
    var yPos = 100

    let myCaption: String = "Number: (\(self.number))"
    self.button.setTitle(myCaption, forState: UIControlState.Normal)

    UIView.animateWithDuration(0.4) {
        self.button.frame.origin.y = yPos
    }
}

如果您在界面构建器中创建了约束,您可以通过 IBOutlet 将其连接到代码并尝试这样做:

var number = 0
@IBOutlet weak var BottomConstraint: NSLayoutConstraint!

    func moveBtn(){
        self.number = self.number + 1
        var yPos = 100

        let myCaption: String = "Number: (\(self.number))"

        UIView.animateWithDuration(0.4, animations: {
            self.button.frame.origin.y = yPos
        }, completion: { finished in
            self.BottomConstraint.constant = 0
            self.button.setTitle(myCaption, forState: UIControlState.Normal)
        })
    }