防止 UIButton 的 setTitle:forState: 动画

Prevent UIButton#39;s setTitle:forState: animation(防止 UIButton 的 setTitle:forState: 动画)

本文介绍了防止 UIButton 的 setTitle:forState: 动画的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用 NSTimer 每秒更新 UIButton 的标题.

I am using a NSTimer to update a UIButton's title every second.

它可以工作,但标题中的文本会自动闪烁(动画为 alpha 0 并返回).

It works but the text in the title blinks (animates to alpha 0 and back) automatically.

我尝试使用 button.layer.removeAllAnimations() 没有运气,也没有例外,所以 QuartzCore 似乎正确链接.

I tried to use button.layer.removeAllAnimations() with no luck, and no exceptions, so QuartzCore seems to be correctly linked.

当前无效的偏执代码:

UIView.setAnimationsEnabled(false)
UIView.performWithoutAnimation {
    button.setTitle(time, forState: .Normal)
    button.layer.removeAllAnimations()
        }
UIView.setAnimationsEnabled(true)

推荐答案

确保您的按钮是自定义"按钮而不是系统"按钮.

Make sure your button is a "custom" button and not a "system" button.

如果您在情节提要上创建它,则只需更改按钮类型.如果您以编程方式创建它,那么它应该是:

If you created it on a storyboard, then just change the Button Type. If you created it programmatically, then it should be:

UIButton *aButton = [UIButton buttonWithType:UIButtonTypeCustom];

这篇关于防止 UIButton 的 setTitle:forState: 动画的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:防止 UIButton 的 setTitle:forState: 动画

基础教程推荐