iOS学习笔记(五):UISwitch

UISwitch(开关控件)是UIKit框架中的一个十分小巧简洁的控件,用于一些简单切换功能的逻辑中。在很多苹果自行开发的iOS应用中,这个控件使用的频率也非常高,最典型的就是“设置”APP中各项系统功能的开启与关闭了。

一、创建一个开关控件

import UIKit

class ViewController: UIViewController {
    
    override func viewDidLoad() {
        super.viewDidLoad()
        //定义一个开关控件
        let swi = UISwitch(frame: CGRect(x: 120, y: 200, width: 100, height: 40))
        //设置开关开启状态的填充色
        swi.onTintColor = UIColor.green
        //设置开关关闭状态的边界色
        swi.tintColor = UIColor.red
        //设置开关按钮的颜色
        swi.thumbTintColor = UIColor.orange
        //添加到主视图
        self.view.addSubview(swi)
    }
    
}

开关关闭与打开的效果如下所示:

二、为UISwitch控件添加触发方法

UISwitch也属于用户交互控件,可以为其添加交互方法来处理某些开与关的逻辑。UISwitch继承于UIControl,继承于UIControl的类都可以通过addTarget方法来实现触发方法的添加,代码如下:

swi.addTarget(self, action: #selector(changecolor), for: .valueChanged)

这里实现的触发方法使用带一个参数值的函数,系统传入的参数为UISwitch对象本身,方法实现代码如下:

@objc func changecolor(swi: UISwitch){
        if(swi.isOn)
        {
            self.view.backgroundColor = UIColor.red
        }
        else
        {
            self.view.backgroundColor = UIColor.white
        }
    }

开关打开后的效果如下:

UISwitch的isOn属性是一个Bool类型的值,通过这个值我们可以判断UISwitch控件的开关状态,然后分别进行相应的操作即可。这里在切换UISwitch控件的开关状态时进行了当前视图背景颜色的转换。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注