參考來源http://www.cnblogs.com/luorende/p/5814597.html
有時我們可能會需要單選功能,譬如人數等等的。
而我這邊用簡單的方式製作單選功能,參考來源中作者是使用OC,而案件也是直接code寫
在此我使用storyboard來做這項功能。不多說直接附上成果圖跟code
先將storyboard做好後進行按鈕的@IBAction,注意這邊要將所有的Button拉致同一個action
並且給予tag(如下圖)
tag我個人這邊是設定101,102,103,104,105,不管怎樣不要是0且有區分即可
code方面需要寫for迴圈來判定所選到的是哪一個案件
而我的作法簡單一點,因為五個案件所以就0...4這樣就有五個值
然後因為tag我設定是101開始所以i + 101 這樣最多就是到105
做個簡單的switch來進行選到按鈕要做什麼動作或傳出什麼資料
而沒選到的另外定義一個Btn讓他取消選取,除非另外寫入限制(選到就將btn鎖定不能動作),但一般是不會去限制的。這就看個人需求了
isSelected這個Bool就是用戶是否有選取到,如果你不想用原生的也可在選到時改變自定義的選擇動作
@IBAction func selectBtn_Single(_ sender: UIButton) {
for i in 0...4 {
if sender.tag == i + 101 {
sender.isSelected = true
var str:String!
switch sender.tag {
case 101:
str = "狗"
case 102:
str = "貓"
case 103:
str = "兔子"
case 104:
str = "老鼠"
default:
str = "鳥"
}
singleLabel.text = "你喜歡的動物是:\(str!)"
continue
}
let Btn:UIButton = self.view.viewWithTag(i + 101) as! UIButton
Btn.isSelected = false
}
}
呈現出來結果如下圖
複選的寫法大致上如下(比較簡單一點),但不常使用
_ sender: UIButton
if sender.isEnabled == true{
sender.isEnabled = false
}else{
sender.isEnabled = true
}
而更簡化的寫法就是
sender.isEnabled = !(sender.isEnabled)
希望能夠幫助到有需要的朋友^^