美文网首页
Swift(十八)UISwitch

Swift(十八)UISwitch

作者: YvanLiu | 来源:发表于2017-08-29 10:00 被阅读297次

更新:2018.05.24

整理了一下demo:SwiftDemo


在一些APP中,经常出现的滑动开关,就是用UISwitch来实现的,UISwitch可以轻松的实现一个具有开和关的选择功能控件。

1. 创建UISwitch

let uiSwitch = UISwitch(frame: CGRect(x: 100, y: 50, width: 100, height: 100))
uiSwitch.setOn(true, animated: true)
view.addSubview(uiSwitch)

a. 在上面代码中,我们创建了一个位置在 (100,50),宽高都是100的UISwitch控件,但你运行项目,所得到的控件的大小并不是(100,100):


Apple官方说明,对UISwitch设置大小是无效的,其永远保持在(51,31)的大小。

b. 第二行代码中,设置了switch的状态为开启状态,并在界面绘制的时候伴随动画,如果第二个属性设置的是false就不会有动画。

2. 设置UISwitch

uiSwitch.thumbTintColor = UIColor.red
uiSwitch.onTintColor = UIColor.green
uiSwitch.tintColor = UIColor.blue
// ios7之后,这两个属性没有作用
uiSwitch.onImage = UIImage(named: "tab1")
uiSwitch.offImage = UIImage(named: "tab2")
        
uiSwitch.addTarget(self, action: #selector(switchClick), for: .valueChanged)
func switchClick(uiSwitch:UISwitch) {
       print(uiSwitch.isOn)
    }

c. 从上面图中我们可以看出来:
  • thumbTintColor :圆按钮的颜色
  • onTintColor:开启状态下及开启状态下边框颜色
  • tintColor:关闭状态下及关闭状态下边框颜色
  • onImageoffImage :废的,没什么用

d.利用Target-Action机制,当拨动switch选项时,就会调用UIControlEvents.valueChanged事件,通过addTarget(self, action: #selector(switchClick), for: .valueChanged)方法,就会调用switchClick()方法。

相关文章

网友评论

      本文标题:Swift(十八)UISwitch

      本文链接:https://www.haomeiwen.com/subject/zzandxtx.html