RxSwift 倒计时, UIButton setTitle 闪烁问题

按钮倒计时修设置UIButton的title时会发生闪烁的情况:

countDownDisposable = Observable<Int>.interval(1, scheduler: MainScheduler.instance)
    .map { self.countDownSeconds - $0 }
    .do(onNext: { [weak self] (second) in
        if second == 0 {
            self?.countDownDisposable?.dispose()
            self?.button.isEnabled = true
            self?.button.setTitle("发送验证码"), for: .normal)
        }
    })
    .subscribe(onNext: { [weak self] (second) in
        self?.button.setTitle("重新发送 \(second)", for: .normal)
    })


解决方法 1:
设置UIButton为custom类型

let button = UIButton(type: UIButton.ButtonType.custom)


解决方法 2:

self.button.titleLabel?.text = "发送验证码" // 在前
self.button.setTitle("发送验证码", for: .normal) // 在后
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容