[英]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.