why does the function call for this reference the state of the button as .normal or .highlighted and not as UIControlStateNormal which is what it says in the documentation?
Replies
Can you explain your question ?
why does the function call for this reference the state of the button as .normal or .highlighted and not as UIControlStateNormal
What did you try exactly ?
If you try
aButton.setTitle("Title", for: UIControlStateNormal)
You get error:
Use of unresolved identifier 'UIControlStateNormal'
if you try
aButton.setTitle("Title", for: UIControl.State.normal)
you get errors:
'UIControlState' has been renamed to 'UIControl.State'
UIControlState' was obsoleted in Swift 4.2
So, you need
aButton.setTitle("Title", for: UIControl.State.normal)
which is what it says in the documentation?
Which documentation (which version of XCode ?) => Swift 4.2 has changed it.
Note also Doc states:
At a minimum, you should set the value for the normal state. If a title is not specified for a state, the default behavior is to use the title associated with the
normal
state. If the value for normal
is not set, then the property defaults to a system value.So, you have not to set title for all states, normal will be used as default if needed.
not as
which is what it says in the documentation?UIControlStateNormal
Which documentation are you referring to here? The documentation for the
setTitle(_:)
method uses the Swift name (
normal
) as long as you’re in Swift mode (which you can select via the menu at the top).
Share and Enjoy
—
Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware
let myEmail = "eskimo" + "1" + "@apple.com"