【发布时间】:2017-01-06 15:12:12
【问题描述】:
当我们要设置一个UIButton的文本时,我们需要执行下面的代码:
myButton.setTitle("My Text", forState: .normal)
唯一的问题是,当文本发生变化时,会出现这样的动画:
有没有办法在没有动画的情况下设置按钮的标题?
我希望按钮充当标准的 UILabel,但我也希望它在按下时调用函数。
【问题讨论】:
当我们要设置一个UIButton的文本时,我们需要执行下面的代码:
myButton.setTitle("My Text", forState: .normal)
唯一的问题是,当文本发生变化时,会出现这样的动画:
有没有办法在没有动画的情况下设置按钮的标题?
我希望按钮充当标准的 UILabel,但我也希望它在按下时调用函数。
【问题讨论】:
您可以在 UIView 的performWithoutAnimation 中设置值,它会按照它的说明进行操作。但是您还需要致电layoutIfNeeded,以便他们在阻塞期间进行重新布局。
UIView.performWithoutAnimation {
self.myButton.setTitle(newTitle, forState: .Normal)
self.myButton.layoutIfNeeded()
}
【讨论】:
对所有 Uibuttoncontrolstate 使用 myButton.setTitle("My Text", forState: .normal)。
【讨论】: