以前对于UIButton实例,您可以传入setTitle或set
Image的UIControlState.normal.正常现在不再可用了,应该用什么呢?
let btn = UIButton(frame: CGRect(x: 0,y: 0,width: 20,height: 20)) btn.setTitle("title",for: .normal) // does not compile
(这是一个规范的Q& A对,以防止与这个UIButton和UIControl有关的重复问题的洪水与iOS 10和Swift 3的变化)
解决方法
Swift 3更新:
看来Xcode 8 / Swift 3带来了UIControlState.normal:
public struct UIControlState : OptionSet { public init(rawValue: UInt) public static var normal: UIControlState { get } public static var highlighted: UIControlState { get } // used when UIControl isHighlighted is set public static var disabled: UIControlState { get } public static var selected: UIControlState { get } // flag usable by app (see below) @available(iOS 9.0,*) public static var focused: UIControlState { get } // Applicable only when the screen supports focus public static var application: UIControlState { get } // additional flags available for application use public static var reserved: UIControlState { get } // flags reserved for internal framework use }
UIControlState.normal已重命名为UIControlState.normal并从iOS SDK中删除.对于“正常”选项,使用空数组来构造一个空选项集.
let btn = UIButton(frame: CGRect(x: 0,height: 20)) // Does not work btn.setTitle("title",for: .normal) // 'normal' has been renamed to 'normal' btn.setTitle("title",for: .normal) // 'normal' is unavailable: use [] to construct an empty option set // Works btn.setTitle("title",for: [])