How to stop unwanted UIButton animation on title change?

前端 未结 24 2696
面向向阳花
面向向阳花 2020-11-28 19:07

In iOS 7 my UIButton titles are animating in and out at the wrong time - late. This problem does not appear on iOS 6. I\'m just using:

[self setTitle:text fo         


        
24条回答
  •  一向
    一向 (楼主)
    2020-11-28 19:45

    A convenient extension for animated button title change in Swift that plays nicely with the default implementation:

    import UIKit
    
    extension UIButton {
      /// By default iOS animated the title change, which is not desirable in reusable views
      func setTitle(_ title: String?, for controlState: UIControlState, animated: Bool = true) {
        if animated {
          setTitle(title, for: controlState)
        } else {
          UIView.setAnimationsEnabled(false)
          setTitle(title, for: controlState)
          layoutIfNeeded()
          UIView.setAnimationsEnabled(true)
        }
      }
    }
    

提交回复
热议问题