簡體   English   中英

UIButton選定狀態並存儲值

[英]UIButton selected state and store value

嘿,我是iOS開發的新手,我有一個問題要使兩個按鈕處於選擇狀態和未選擇狀態,然后存儲性別值。 我想當用戶選擇性別時,其他性別將被禁用。 誰能幫我?

我的按鈕代碼

let menButton: UIButton = {
    let button = UIButton(type: .system)
    button.setTitle("Men", for: .normal)
    button.setTitleColor(.white, for: .normal)
    button.backgroundColor = .yellow
    button.isSelected = false
    button.isEnable = true
    button.addTarget(self, action: #selector(handlePickGender), for: .touchUpInside
    return button
}()

let womenButton: UIButton = {
    let button = UIButton(type: .system)
    button.setTitle("Women", for: .normal)
    button.setTitleColor(.white, for: .normal)
    button.backgroundColor = .blue
    button.isSelected = false
    button.isEnable = true
    button.addTarget(self, action: #selector(handlePickGender), for: .touchUpInside
    return button
}() 

首先,為Gender創建enum ,並添加Male和Female作為該enum的用例。

enum Gender {
  case male
  case female
 }

具有切換UIButton狀態的開關。

func chooseGender(_ gender: Gender) {

   switch gender {
     case .male:
        // code for select and unselect
     case .female:
        // code for select and unselect
    }
}

UIButton ,將isEnabled屬性用於啟用和禁用。

如果您嘗試創建切換按鈕。

您可以設置狀態的按鈕圖像。

button.setImage(UIImage(named: "unselected"), for: .normal)
button.setImage(UIImage(named: "selected"), for: .selected)


@IBAction func buttonPressed(sender: UIButton) {
    button.selected = !button.selected
}

或者您可以設置按鈕的背景色

@IBAction func buttonPressed(sender: UIButton) {
        button.selected = !button.selected
        if button.selected {
             button.backgroundColor = .blue
        } else {
             button.backgroundColor = .clear
        }
}

嘗試這個:

@objc func handlePickGender(sender: UIButton) {
        menButton.setTitleColor(UIColor.yellow, for: .normal)
        womenButton.setTitleColor(UIColor.yellow, for: .normal)
        sender.setTitleColor(UIColor.blue, for: .normal)
        //store gender
        let selectedGender = sender.title(for: .normal)
   }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM