在 Swift 中的同一个 VC 上点击按钮后,有没有办法显示以前隐藏在早期代码行中的 UIelement?

Is there a way to show a UIelement that was previously hidden in earlier lines of code after a button has been tapped on the same VC in Swift?

我在 VC 上有许多 UI 元素,包括标签、文本字段和按钮。在 viewDidLoad() 函数中,大多数 UI 元素最初是隐藏的。我已成功对 VC 上的 UIButton 进行编程,以根据所问的问题更改标签文本和按钮标题属性。但是,当我尝试为之前隐藏的标签或文本字段设置文本 属性 时,它不会显示出来。我在 apple dev 网站上看到了一些关于 hiddenOrHasHiddenAncestor 视图的内容,但我不确定这是否是解决方案。有没有简单的解决方法?

我尝试创建一个布尔变量作为 var firstQuestionAsked = false,然后在我希望 UI 元素再次显示时在代码块中将其设置为 true 并将 viewDidLoad 代码设置为 if-statement 这样,如果 Bool 为假,元素将被隐藏,但这不起作用。

// 这是我在 viewDidLoad 函数中的代码

override func viewDidLoad() {
    super.viewDidLoad()

        aboveTopTextPrompt.text = aboveTopPrompt1
        topTextfield.placeholder = "Ex: 2.98"
        besideTopTextLabel.isHidden = true
        underTopTextLabel.isHidden = true
        aboveBottomTextPrompt.isHidden = true
        bottomTextfield.isHidden = true
        underBottomTextLabel.isHidden = true
        bottomFloatingLabel.isHidden = true
        darkButton.setTitle(nextTitle, for: .normal)
    }
}

// 这是我的代码部分不起作用(在按钮 IBAction 中)

@IBAction func darkButtonPressed(_ sender: UIButton) {

    if aboveTopPromptIndex == 1 {
        aboveTopTextPrompt.text = aboveTopPrompt2
        topTextfield.placeholder = "Ex: 76.00"
        besideTopTextLabel.isHidden = true
        underTopTextLabel.text = "string"
        aboveBottomTextPrompt.text = "string"
        bottomTextfield.isHidden = true
        underBottomTextLabel.isHidden = true
        bottomFloatingLabel.isHidden = true
        darkButton.setTitle(nextTitle, for: .normal)
        aboveTopPromptIndex = 2
    } else if aboveTopPromptIndex == 2 {
        performSegue(withIdentifier: "darkViewToABC", sender: self)
    } else if (aboveTopPromptIndex == 5 || aboveTopPromptIndex == 6 {
        aboveTopPromptIndex = 7
        aboveTopTextPrompt.text = aboveTopPrompt7
        topTextfield.placeholder = "string"
        besideTopTextLabel.text = "string"
        underTopTextLabel.text = "string"
        aboveBottomTextPrompt.text = "string"
        bottomTextfield.placeholder = "string"
        underBottomTextLabel.text = "string"
        bottomFloatingLabel.text = "string"
        darkButton.setTitle(calculateTitle, for: .normal)
    }

我为 UI 元素设置的字符串保持隐藏状态。我没有显示我的所有代码以避免冗余,但基本上,以前隐藏的任何占位符或文本 属性 在我想要时都不会显示,我确实需要它们显示其中一个问题,如图所示在最后一个 else if 语句中。

someUIElement.isHidden = false 将使它可见。 isHidden 值决定视图是否隐藏。它不会以任何方式自动更改。所以一旦你将它设置为 true,它就不会再次可见,直到你明确地将它设置回 false