【问题标题】:how to get value from radio button to a variable in swift 5如何从单选按钮获取值到swift 5中的变量
【发布时间】:2022-01-16 17:48:48
【问题描述】:

Need to save ther value from the radio button to a variable

@IBOutlet weak var userButton: UIButton!
@IBOutlet weak var propertyButton: UIButton!

override func viewDidLoad() {
    super.viewDidLoad()

    // Do any additional setup after loading the view.
}
@IBAction func btClicked (sender: UIButton) {
    let buttonArray = [userButton , propertyButton]
    buttonArray.forEach {_ in 
        $0?.isSelected = false
    }
}

【问题讨论】:

  • 使用可以使用 btn.tag 来保存你需要的值,然后随意使用

标签: swift variables uibutton radio-button uikit


【解决方案1】:

创建一个变量来存储按钮的值

var strVal = ""

为两个按钮创建两个不同的插座

@IBAction func btnUserClicked(_ sender: UIButton) {
    setValue(isUser: true)
}
@IBAction func btnPropertyOwnerClicked(_ sender: UIButton) {
    setValue(isUser: false)
}

setValue(isUser : Bool) 方法将存储您选择的按钮值并根据选择更改按钮的图像

func setValue(isUser : Bool){
    if isUser{
        strVal = "User"
        btnUser.setImage(UIImage(named: "circle-fill"), for: .normal)
        btnPropertyOwner.setImage(UIImage(named: "circle"), for: .normal)
    }
    else{
        strVal = "Property Owner"
        btnPropertyOwner.setImage(UIImage(named: "circle-fill"), for: .normal)
        btnUser.setImage(UIImage(named: "circle"), for: .normal)
    }
}

图片'circle'是你已经在按钮上的默认图片,图片'circle-fill'用来表明你的按钮是否被选中。

或者你可以使用 button 的 sender.tag 属性:

@IBAction func btnUserClicked(_ sender: UIButton) {
    //setValue(isUser: true)
    if(sender.tag == 0){
        strVal = "user"
        btnUser.setImage(UIImage(named: "circle-fill"), for: .normal)
        btnPropertyOwner.setImage(UIImage(named: "circle"), for: .normal)
    }
    else{
        strVal = "property user"
        btnPropertyOwner.setImage(UIImage(named: "circle-fill"), for: .normal)
        btnUser.setImage(UIImage(named: "circle"), for: .normal)
    }
}

【讨论】:

  • 如果对您有帮助,请为我的答案投票,或者您可以通过给予“绿权”将其添加到正确答案中。谢谢:)
  • 不,它取消选择之前选择的按钮。我对其进行了测试,并且效果很好,之后我发布了这个答案。
  • 感谢兄弟的代码,它真正帮助了我
  • 如果您需要任何帮助,您可以随时联系我。我会为您提供最好的解决方案:)
猜你喜欢
  • 2015-12-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-04
  • 1970-01-01
  • 2014-12-26
  • 2010-12-19
  • 1970-01-01
相关资源
最近更新 更多