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")