Der*_*ive 0 interface-builder uibutton ibaction ios swift
我创建了一个名为RegistrationButton的自定义UIButton.我目前正在尝试允许用户在三个按钮之间进行选择.选择按钮后,背景颜色和文本将发生变化.以下是IBAction的外观:
@IBAction func didTapBUtton(_ sender: UIButton) {
switch sender {
case studentButton:
studentButton.selected()
professionalButton.notSelected()
entrepreneurhsip.notSelected()
break
case professionalButton:
studentButton.notSelected()
professionalButton.selected()
entrepreneurhsip.notSelected()
break
case entrepreneurhsipButton:
studentButton.notSelected()
professionalButton.notSelected()
entrepreneurhsip.selected()
break
default:
break
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的自定义UIButton类的方法:
import UIKit
class RegistrationButton: UIButton {
override func awakeFromNib() {
super.awakeFromNib()
addBorder()
}
required init(coder:NSCoder) {
super.init(coder:coder)!
}
func addBorder(){
self.layer.borderColor = UIColor.white.cgColor
self.layer.borderWidth = 1
}
func selected(){
self.backgroundColor = .white
self.setTitleColor(UIColor(red:67,green:204,blue:144,alpha:1), for: .normal)
}
func notSelected(){
self.backgroundColor = UIColor(red:67,green:204,blue:144,alpha:1)
self.setTitleColor(UIColor.white, for: .normal)
}
Run Code Online (Sandbox Code Playgroud)
}
该RGB值具有之间进行浮动点0和1.您只需要将所有参数分开255以使其工作.
所以举个例子
self.backgroundColor = UIColor(red:67,green:204,blue:144,alpha:1)
Run Code Online (Sandbox Code Playgroud)
应该
self.backgroundColor = UIColor(red: 67.0/255, green: 204.0/255, blue:144.0/255, alpha:1)
Run Code Online (Sandbox Code Playgroud)
(当你应用标题颜色时,这同样明显适用)
旁注:switch默认情况下,Swift中的A 不会破坏,所以你可以省略breaks.如果您明确需要此行为,那么有一个fallthrough关键字.
| 归档时间: |
|
| 查看次数: |
89 次 |
| 最近记录: |