У меня много элементов пользовательского интерфейса на ВК, включая метки, текстовые поля и кнопку. В функции viewDidLoad () большинство элементов пользовательского интерфейса изначально скрыты. Я успешно запрограммировал UIButton на VC, чтобы изменить текст надписи и свойства заголовка кнопки в зависимости от того, какой вопрос задают. Однако, когда я пытаюсь установить текстовое свойство для метки или текстового поля, которое было ранее скрыто, оно не отображается снова. Я видел на веб-сайте Apple Dev что-то о скрытом представлении OrHasHiddenAncestor, но не уверен, что это решение. Это легко исправить?
Я попытался создать булеву переменную как var firstQuestionAsked = false, а затем установить ее значение true в куске кода, когда я хочу, чтобы элементы пользовательского интерфейса отображались снова, и установить для кода viewDidLoad оператор if, чтобы при использовании Bool false, элементы скрыты, но это не сработало.
// Это мой код в функции 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 darkButtonPressed (_ отправитель: 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)
}
Строки, которые я установил для элементов пользовательского интерфейса, остаются скрытыми. Я не показывал весь свой код во избежание избыточности, но, по сути, любое скрытое ранее свойство или текстовое свойство не отображается, когда я этого хочу, и мне нужно, чтобы они отображались для одного из вопросов, как показано в последнем другом если заявление.