Swift(十八)UISwitch

更新: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()方法。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,831评论 25 709
  • 《ilua》速成开发手册3.0 官方用户交流:iApp开发交流(1) 239547050iApp开发交流(2) 1...
    叶染柒丶阅读 11,125评论 0 11
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,784评论 0 17
  • 不像div直接设置宽度即可,table中宽度有一套表格布局算法,首先要了解表格中宽度的计算方法才能灵活使用。 表格...
    2016_18点阅读 601评论 0 2
  • 一直玫瑰入你眼眸 一壶烈酒融入你喉 一缕清风伴你长久 两对鸳鸯戏水中 两声爱你表心意 云白如你的肌肤 风温柔如你笑...
    情书小王子阅读 761评论 0 1