Swift UISwitch是一个开关控件,它用ON/OFF来表示按钮的开关,下面我们来看一下UISwitch在swift 4中的使用示例:
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let switchOnOff = UISwitch(frame:CGRect(x: 150, y: 150, width: 0, height: 0))
//开关回调事件
switchOnOff.addTarget(self,action: #selector(switchStateDidChange(_:)), for: .valueChanged)
//设置开关按钮的颜色
//switchOnOff.onTintColor = UIColor.red
//自定义设置开关图片无效果
//switchOnOff.onImage = UIImage(named: "group_icon@2x.png")
switchOnOff.setOn(true, animated: false)
//默认为ON打开状态
self.view.addSubview(switchOnOff)
}
//开关回调事件,注意“_”下划线与sender之间要有空格
@objc func switchStateDidChange(_ sender : UISwitch){
if(sender.isOn == true){
print("UISwitch state is ON")
}else{
print("UISwitch state is OFF")
}
}
}Swift UISwitch控件有下列四个属性效果,用于表示开关按钮的颜色,分别如下:
onTintColor : 设置打开状态下的 tint color

tintColor : 设置关闭状态下的 tint color

thumbTintColor : 设置拇指部分颜色

如果要设置UISwitch控件的开关颜色,一般是这样设置UISwitch属性,但是不知道为什么没有效果了。
onImage: 打开状态图片
switchOnOff.onImage = UIImage(named:"on-switch")
offImage: 打开状态图片
switchOnOff.offImage = UIImage(named:"off-switch")