gpt4 book ai didi

objective-c - 使用 NIB 启动 ParentView 后更改 UILabel 文本值不会显示更改

转载 作者:行者123 更新时间:2023-11-29 04:19:23 26 4
gpt4 key购买 nike

我的代码是这样的:

if (messageBox == nil) {
messageBox = [[MessageBoxController alloc] initWithNibName:@"MessageBoxView" bundle:nil];
}
[messageBox.MessageLabel setText: someString];
[self presentModalViewController:messageBox animated:YES];

但是,第一次运行上述逻辑时(messageBox 实际上为 nil 并且被启动),则新标签文本 (someString) 将不会显示。不过,在我运行此方法后,文本将正确显示(是的,它显示最新的“someString”。不是我上次调用该方法时的实例)。

我在设置标签文本后立即尝试了 [messageBox.view setNeedsDisplay],但这也没有帮助。在 messageBox viewDidLoad 方法中,我还设置了 [self.MessageLabel setText: self.MessageLabel.text] 以防万一有一些异步初始化或你有什么。

为什么第一次调用此方法时不显示新标签文本?

最佳答案

原因是UILabel不会加载并且在此之前您设置文本。

if (messageBox == nil) {
messageBox = [[MessageBoxController alloc] initWithNibName:@"MessageBoxView" bundle:nil];
}
[self presentModalViewController:messageBox animated:YES];
//make changes to UI after providing viewcontroller
[messageBox.MessageLabel setText: someString];

关于objective-c - 使用 NIB 启动 ParentView 后更改 UILabel 文本值不会显示更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13171746/

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