在Swift中创建默认样式的UIButton

jer*_*rry 4 uibutton ios swift

当我UIButton在Swift中创建一个,例如

let aButton = UIButton()
aButton.setTitle("Title", forState: UIControlState.Normal)
Run Code Online (Sandbox Code Playgroud)

看起来我没有获得与在Interface Builder中添加按钮时所获得的相同的按钮样式.具体来说,标题颜色是白色而不是默认的"色调",使按钮不可见.现在我希望这个按钮看起来像任何其他按钮,所以我不想指定我自己的颜色.

设置正常(未按下)状态可以通过以下方式完成:

aButton.setTitleColor(self.tintColor, forState: UIControlState.Normal)
Run Code Online (Sandbox Code Playgroud)

到现在为止还挺好.但按下按钮时文本颜色不会改变.我猜,因为我需要

aButton.setTitleColor(/* somehting here */, self.tintColor, forState: UIControlState.Highlighted)
Run Code Online (Sandbox Code Playgroud)

理想情况下,如果没有硬编码颜色,我需要在上面替换以获得默认的按下按钮颜色?或者是否有更简单的方法来创建UIButton默认样式?

ZeM*_*oon 7

要声明与故事板/界面构建器中相同(默认)样式的按钮,请使用以下代码对其进行实例化:

let aButton = UIButton(type: .system)
Run Code Online (Sandbox Code Playgroud)

否则按钮是类型custom.

您可以在此处阅读各种按钮类型.

  • ```let button = UIButton(type:UIButtonType.System)``` (2认同)