Swift(十八)UISwitch

更新:2018.05.24

整理了一下demo:SwiftDemo


在一些APP中,經(jīng)常出現(xiàn)的滑動開關,就是用UISwitch來實現(xiàn)的,UISwitch可以輕松的實現(xiàn)一個具有開和關的選擇功能控件。

1. 創(chuàng)建UISwitch

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

a. 在上面代碼中,我們創(chuàng)建了一個位置在 (100,50),寬高都是100的UISwitch控件,但你運行項目,所得到的控件的大小并不是(100,100):


Apple官方說明,對UISwitch設置大小是無效的,其永遠保持在(51,31)的大小。

b. 第二行代碼中,設置了switch的狀態(tài)為開啟狀態(tài),并在界面繪制的時候伴隨動畫,如果第二個屬性設置的是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:開啟狀態(tài)下及開啟狀態(tài)下邊框顏色
  • tintColor:關閉狀態(tài)下及關閉狀態(tài)下邊框顏色
  • onImageoffImage :廢的,沒什么用

d.利用Target-Action機制,當撥動switch選項時,就會調(diào)用UIControlEvents.valueChanged事件,通過addTarget(self, action: #selector(switchClick), for: .valueChanged)方法,就會調(diào)用switchClick()方法。

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,872評論 25 709
  • 《ilua》速成開發(fā)手冊3.0 官方用戶交流:iApp開發(fā)交流(1) 239547050iApp開發(fā)交流(2) 1...
    葉染柒丶閱讀 11,477評論 0 11
  • ¥開啟¥ 【iAPP實現(xiàn)進入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個線程,因...
    小菜c閱讀 7,311評論 0 17
  • 不像div直接設置寬度即可,table中寬度有一套表格布局算法,首先要了解表格中寬度的計算方法才能靈活使用。 表格...
    2016_18點閱讀 648評論 0 2
  • 一直玫瑰入你眼眸 一壺烈酒融入你喉 一縷清風伴你長久 兩對鴛鴦戲水中 兩聲愛你表心意 云白如你的肌膚 風溫柔如你笑...
    情書小王子閱讀 773評論 0 1

友情鏈接更多精彩內(nèi)容