我的代码是这样的:
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] 以防万一有一些异步初始化或你有什么。
为什么第一次调用这个方法时新的标签文字不显示?