Swift 3 zmiana:
Wygląda na to, że Xcode 8/Swift 3 przyniósł UIControlState.normal
wstecz:
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
został przemianowany na UIControlState.normal
i usunięty z zestawu SDK iOS. W przypadku opcji "Normalne" użyj pustej tablicy, aby utworzyć pusty zestaw opcji.
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: [])
Mhmm '[]' jest z pewnością najczystszym i najbardziej oczywistym sposobem na zrobienie tego. Cieszę się, że Apple postanowił zrobić to z jakiegoś powodu. Mam nadzieję, że to tylko sprawa typu beta, ale tak nie wygląda. – Sirens
Podczas korzystania z Xcode 8.1, konwerter nadaje 'UIControlState()' do podstawiania '.Normal'. –
Uzupełnij umysł Apple !! normalny, lub .Normal ????? Jesteś bardziej dwubiegunowy niż mój były. – Josh