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)
})
}
我正在尝试为 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)
})
}