【问题标题】:How to stop button from animating when setting the title of UIButton [duplicate]设置UIButton的标题时如何停止按钮动画[重复]
【发布时间】:2017-01-06 15:12:12
【问题描述】:

当我们要设置一个UIButton的文本时,我们需要执行下面的代码:

myButton.setTitle("My Text", forState: .normal)

唯一的问题是,当文本发生变化时,会出现这样的动画:

有没有办法在没有动画的情况下设置按钮的标题?

我希望按钮充当标准的 UILabel,但我也希望它在按下时调用函数。

【问题讨论】:

    标签: ios uibutton swift3


    【解决方案1】:

    您可以在 UIView 的performWithoutAnimation 中设置值,它会按照它的说明进行操作。但是您还需要致电layoutIfNeeded,以便他们在阻塞期间进行重新布局。

    UIView.performWithoutAnimation {
      self.myButton.setTitle(newTitle, forState: .Normal)
      self.myButton.layoutIfNeeded()
    }
    

    【讨论】:

    • 那行得通。另外,如果我要单击我想要的那个按钮,它还会显示动画。
    【解决方案2】:

    对所有 Uibuttoncontrolstate 使用 myButton.setTitle("My Text", forState: .normal)。

    【讨论】:

    • 这是我已经在使用的代码
    • 您是否为所有 UIControlState 尝试过相同的标题?正常,突出显示,选中。当我们单击按钮时,它会显示选定的状态标题。当我们设置相同的标题时,它不会动画。
    猜你喜欢
    • 2013-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-22
    • 2016-02-17
    • 1970-01-01
    相关资源
    最近更新 更多