首页 > 解决方案 > Swift I can't manage to hide segmented Control

问题描述

I have two buttons, one that shows the segmented control and one that tries to hide it. The problem is when I click the one to show it, it works. However, when I click the one to hide it, it doesn't work. Here is my code:

let delayHide = UIAlertAction(title: "Hide Delay", style: .default) { (action) in
    self.segmentedHidden = 1
    self.setupSegmented()
}

let delayShow = UIAlertAction(title: "Show Delay", style: .default) { (action) in
    self.segmentedHidden = 0
    self.setupSegmented()
}

Here is also the code for when I try to hide it:

if (segmentedHidden == 0) {
    segmentedControl.isHidden = false
} else {
    segmentedControl.isHidden = true
}

Where did I go wrong?

标签: iosswiftuisegmentedcontroluialertcontroller

解决方案


使用以下代码:

    @IBAction func buttonTapped(_ sender: UIButton) {

        let alert = UIAlertController(title: "Alert", message: "Segment", preferredStyle: .alert)
        alert.addAction(UIAlertAction(title: "Show", style: .default, handler: { (alertAction) in
            self.showHideSegmentControl(isHidden: false)
        }))
        alert.addAction(UIAlertAction(title: "hide", style: .default, handler: { (alertAction) in
            self.showHideSegmentControl(isHidden: true)
        }))
        self.present(alert, animated: true, completion: nil)

    }

    func showHideSegmentControl(isHidden: Bool) {
        segmentedControl.isHidden = isHidden
    }

推荐阅读