VsM*_*MaX 4 uibutton ios swift
以编程方式创建的 UIButton 在按下时不会改变颜色,就像使用 Interface Builder 创建的所有其他按钮一样。
我的按钮创建如下:
let cableDetailsButton = UIButton(type: UIButtonType.System)
cableDetailsButton.frame = CGRectMake(8, 8, 42, 21)
cableDetailsButton.setTitle("Title", forState: UIControlState.Normal)
cableDetailsButton.setTitleColor(self.view.tintColor, forState: .Normal)
cableDetailsButton.setTitleColor(UIColor.blackColor(), forState: UIControlState.Highlighted)
cableDetailsButton.addTarget(self, action: #selector(FuseDetailsViewController.cableButtonPressed), forControlEvents: .TouchUpInside)
Run Code Online (Sandbox Code Playgroud)
我想补充一点 tintColor 是默认的 iOS 颜色(蓝色)
我的目标是以编程方式创建与从 Interaface Builder 列表中拖放的按钮相同(默认!)的按钮。我希望我的按钮在按下时更改颜色/alpha。
我正在使用 Swift 2.3
不幸的是,这样简单的任务让我不知所措,以至于我不得不寻求帮助。预先感谢您的帮助。
更新:按钮是 UISCrollView 的一部分
代替
let cableDetailsButton = UIButton(type: UIButtonType.system)
Run Code Online (Sandbox Code Playgroud)
你需要改变UIButtonType作为.custom
let cableDetailsButton = UIButton(type: UIButtonType.custom)
Run Code Online (Sandbox Code Playgroud)
如果您使用的是 Swift3,则语法也不正确。在下面找到更正的语法
let cableDetailsButton = UIButton(type: UIButtonType.custom)
cableDetailsButton.frame = CGRect(x: 8, y: 8, width: 42, height: 21)
cableDetailsButton.setTitle("Dane o przewodach", for: UIControlState.normal)
cableDetailsButton.setTitleColor(self.view.tintColor, for: .normal)
cableDetailsButton.setTitleColor(UIColor.black, for: UIControlState.highlighted)
cableDetailsButton.addTarget(self, action: #selector(self.cableButtonPressed), for: .touchUpInside)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4925 次 |
| 最近记录: |