gpt4 book ai didi

swift - UILabel 未更新以匹配 UILabel.text

转载 作者:行者123 更新时间:2023-11-28 11:25:49 35 4
gpt4 key购买 nike

当我更改 UILabel 的文本属性时,它只会在应用程序中部分更新。

我试过将它放在 viewDidLoad 函数和单独的专用函数中,但无济于事。如果我在更新后将 Label.text 打印到控制台,它是正确的,但它没有正确显示在屏幕上。

有问题的类:

@IBOutlet weak var PromptLabel: UILabel!
var labelText = "";

override func viewDidLoad() {
super.viewDidLoad()
print("view loaded")
self.PromptLabel.text = "Tell Us... " + labelText;
// Do any additional setup after loading the view.
}

调用者:

 @IBAction func UsingButtonPressed(_ sender: Any) {
(sender as AnyObject).setTitleColor(UIColor.red, for: .normal)
let storyBoard : UIStoryboard = UIStoryboard(name: "Main", bundle: nil);
let secondController = storyBoard.instantiateViewController(withIdentifier: "Secondary View Controller") as! SecondaryViewController;
secondController.labelText = "What You're Using Today"
self.present(secondController, animated: true, completion: nil)

}

标签应显示为“告诉我们...您今天使用的是什么”,但它只显示“告诉您...”,这毫无意义。

image

最佳答案

您需要确保 UILabel 的宽度约束足够宽以容纳文本。否则,它被截断,您看到的 ... 是因为标签的换行符设置为 truncating tail,这意味着字符串的结尾将是当标签太窄时替换为 ...

所以这是一个界面构建器问题,而不是 Swift 特定的问题。标签的文本正在正确更新,但 UI 无法正确显示它。

如果您希望标签的宽度约束随文本而变化,可以通过多种方式计算文本的宽度并更新约束的常量以适应该文本的宽度。

关于swift - UILabel 未更新以匹配 UILabel.text,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58192484/

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