gpt4 book ai didi

ios - 如果标题文本为空或未分配,如何隐藏 uibutton?

转载 作者:行者123 更新时间:2023-11-30 10:51:26 26 4
gpt4 key购买 nike

代码和问题代表 Swift 中的 Xcode 项目。我有一组按钮,根据标签上显示的文本显示选项。

标签文本源自字典的键,按钮文本源自同一字典的值。字典类型为[String: [String]。键和值都放置在数组中。我当前显示正确的数据,但某些值的长度与其他值不同。

例如,一个键有 3 个值,另一个键有 5 个值。如果没有文本要发送给它,我想隐藏这些按钮。因此,如果一个键出现在标签中并且有 3 个值,我只想显示 3 个按钮,依此类推。实现此功能的最佳方法是什么?这是我的代码,但没有实现我想要实现的目标:

func startSurvey() {

if surveyQuestions.isEmpty {
surveyQuestions = Array(SampleSurvey().surveyquestions.keys)
print(surveyQuestions)
}

let rand = Int(arc4random_uniform(UInt32(surveyQuestions.count)))
questionTitle.text = surveyQuestions[rand]

var choices = SampleSurvey().surveyquestions[surveyQuestions[rand]]!
print(choices)
print(choices.count)
surveyQuestions.remove(at: rand)

var button = UIButton()
var x = 0
// var choicePool = choices.count

if choices.count == 2 {
for index in 1...2 {
button = view.viewWithTag(index) as! UIButton
button.setTitle(choices[x], for: .normal)
x += 1
if button.titleLabel?.text.isEmpty == true {
button.isHidden = true
}
}
}

else if choices.count == 4 {
for index in 1...4 {
button = view.viewWithTag(index) as! UIButton
button.setTitle(choices[x], for: .normal)
x += 1

if button.titleLabel?.text.isEmpty == true {
button.isHidden = true
}

}
}

这是模拟器的屏幕截图,您可以看到这个特定的键只有 2 个值,因此有 3 个空白按钮,我想隐藏空白按钮:

screenshot of simulator

更新:以下代码为我提供了我想要的功能:

      var button = UIButton()
var x = 0
let buttonTags = [0,1,2,3,4]
if choices.count == 2 {
for idx in buttonTags {
button = surveyChoices[idx]
if idx < choices.count {
button.setTitle(choices[x], for: .normal)
x += 1
} else {
button.isHidden = true
}
}
}

最佳答案

如果按钮的 titleLabel 中的 textnil,那么您的条件将变为 false。尝试像这样修改您的代码:

for index in 1...4 {
button = view.viewWithTag(index) as! UIButton
button.setTitle(choices[x], for: .normal)
x += 1

if (button.titleLabel?.text ?? "").isEmpty == true {
button.isHidden = true
}
}

这将检查text是否为nil,然后返回一个空的""

关于ios - 如果标题文本为空或未分配,如何隐藏 uibutton?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54436085/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com