本文介绍了UIControlState.Normal不可用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
以前对于 UIButton
实例,您可以为传入
或 UIControlState.Normal
setTitle setImage
。 .Normal
不再可用,我应该使用什么?
Previously for UIButton
instances, you were able to pass in UIControlState.Normal
for setTitle
or setImage
. .Normal
is no longer available, what should I use instead?
let btn = UIButton(frame: CGRect(x: 0, y: 0, width: 20, height: 20))
btn.setTitle("title", for: .Normal) // does not compile
推荐答案
Swift 3更新:
Swift 3 update:
看来Xcode 8 / Swift 3带来了 UIControlState .normal
返回:
It appears that Xcode 8/Swift 3 brought UIControlState.normal
back:
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中删除。对于Normal选项,使用空数组构造空选项集。
UIControlState.Normal
has been renamed to UIControlState.normal
and removed from the iOS SDK. For "Normal" options, use an empty array to construct an empty option set.
let btn = UIButton(frame: CGRect(x: 0, y: 0, width: 20, 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: [])
这篇关于UIControlState.Normal不可用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!