这是因为UIButton的状态可能会随着用户的交互而改变,例如,当用户点击按钮时,按钮的状态就会变为highlighted
。for
参数是一个UIControl.State
类型的值,常见的值包括:
.normal
:按钮的正常状态,没有任何用户交互时的状态。.highlighted
:当用户点击按钮,按钮就会进入这个状态。.disabled
:按钮被禁用时的状态,此时用户无法与之交互。.selected
:按钮被选中时的状态,这通常用在切换按钮等需要记住其状态的场景。
例如:
swift
let button = UIButton()
// 设置正常状态下的标题和颜色
button.setTitle("Normal", for: .normal)
button.setTitleColor(UIColor.black, for: .normal)
// 设置高亮状态下的标题和颜色
button.setTitle("Highlighted", for: .highlighted)
button.setTitleColor(UIColor.red, for: .highlighted)
// 设置禁用状态下的标题和颜色
button.setTitle("Disabled", for: .disabled)
button.setTitleColor(UIColor.gray, for: .disabled)
// 设置选中状态下的标题和颜色
button.setTitle("Selected", for: .selected)
button.setTitleColor(UIColor.blue, for: .selected)
在这个例子中,当按钮的状态发生改变时,标题和颜色也会相应地改变。
如果没有为某种状态设置标题或标题颜色,则按钮会默认使用正常状态下的标题和颜色。如需设置其他状态下的样式,就需要使用对应的for
参数值来指定。