如何使每个桌面行的Uibutton状态不同



在此代码中,我的按钮具有选定的状态和取消选择的状态。按下按钮后,它会更改为绿色,然后再次按下时,它会更改为红色,以表示取消指定状态。

但是,所有这些都是在详细信息视图controller中的ve按下它(我没有)。我想知道是否有一种方法可以显示绿色,以详细说明我选择的行和红色为其他行?

 let defaults = UserDefaults.standard
// Outlets
@IBOutlet weak var goingButton: UIButton!
// Actions
@IBAction func goingButtonTapped(_ sender: UIButton) {
    goingButton.isSelected = !goingButton.isSelected
    if goingButton.isSelected == true {
        goingButton.setImage(UIImage(named: "goingSelected"), for: UIControlState.selected)
        defaults.set(true, forKey: "going")
        defaults.synchronize()
        defaults.bool(forKey: "going")
        print("defaults: (defaults)")
    } else if goingButton.isSelected == false {
        goingButton.setImage(UIImage(named: "goingDeselected"), for: UIControlState.normal)
        defaults.set(false, forKey: "going")
        defaults.synchronize()
        defaults.bool(forKey: "going")
    }
}
override func viewDidLoad() {
    super.viewDidLoad()
    goingButton.setImage(UIImage(named: "goingDeselected"), for: UIControlState.normal)
    if defaults.bool(forKey: "going")
{
    goingButton.isSelected = true
    goingButton.setImage(UIImage(named: "goingSelected"), for: UIControlState.selected)
}
}

尝试这个 -

override func viewDidLoad() {
    super.viewDidLoad()
    goingButton.setImage(UIImage(named: "goingDeselected"), for: UIControlState.normal)
    if defaults.bool(forKey: "going")
    {
        goingButton.isSelected = true
        goingButton.setImage(UIImage(named: "goingSelected"), for: UIControlState.selected)
    }
}

最新更新