学习iOS开关按钮UISwitch控件
介绍
在iOS开发中常常需要使用到开关按钮(Switch),UISwitch控件是iOS系统提供的非常实用的开关按钮控件,它简单易用,并且可以设置开和关两种状态。
操作
1.添加UISwitch控件
在Xcode的storyboard中,直接从库中将UISwitch控件拖拽到需要使用的页面上就可以了。
2.设置样式
UISwitch控件有3种样式:默认(Default)、关闭(On Tint Color)、打开(Off Tint Color),分别对应不同状态下Switch的背景色。可以通过代码设置或者直接在storyboard中设置。
// 设置为紫色,默认是绿色
switch.onTintColor = UIColor.purple
// 设置为白色
switch.tintColor = UIColor.white
// 设置为灰色
switch.thumbTintColor = UIColor.gray
3.添加事件监听
可以通过addAction函数来监听开关状态的改变。
示例一:
在这个示例中,我们将红色视图的透明度与开关按钮建立联系,当开关按钮被切换,对应的视图的透明度也发生改变。
class ViewController: UIViewController {
// IBOutlet用来和storyboard中的UI控件进行关联
@IBOutlet weak var redView: UIView!
@IBOutlet weak var mySwitch: UISwitch!
override func viewDidLoad() {
super.viewDidLoad()
// 给mySwitch添加监听事件
mySwitch.addTarget(self, action: #selector(switchDidChange), for: .valueChanged)
}
// 开关状态改变时会执行的方法
@objc func switchDidChange() {
if mySwitch.isOn {
redView.alpha = 1.0
} else {
redView.alpha = 0.0
}
}
}
示例二:
在这个示例中,我们使用代码创建了开关按钮,并将它添加到视图中。当开关被切换时,对应的Label的文本也被改变。
class ViewController: UIViewController {
let mySwitch = UISwitch() // 创建UISwitch
let label = UILabel() // 创建UILabel
override func viewDidLoad() {
super.viewDidLoad()
// 添加mySwitch
mySwitch.frame = CGRect(x: 100, y: 100, width: 0, height: 0)
mySwitch.addTarget(self, action: #selector(switchDidChange), for: .valueChanged)
view.addSubview(mySwitch)
// 添加Label
label.frame = CGRect(x: 200, y: 100, width: 100, height: 30)
view.addSubview(label)
}
@objc func switchDidChange() {
if mySwitch.isOn {
label.text = "开"
} else {
label.text = "关"
}
}
}
总结
这里简单介绍了UISwitch控件的基本操作,包括样式设置和事件监听。希望这篇攻略可以帮助到你快速上手使用UISwitch控件。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:学习iOS开关按钮UISwitch控件 - Python技术站