我的故事板中有一个名为IntroViewController的视图控制器,我希望将它作为一个子项添加到另一个视图控制器中,如下所示:
IntroViewController *introViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"View1"];
[introViewController.textLabel setText:@"test"];
[self addChildViewController:introViewController];
在IntroViewController上,我在故事板中放了一个名为textLabel的标签,如果我运行该程序,它会显示视图控制器,但文本不会被更改。知道如何解决这个问题吗?
答案 0 :(得分:0)
从故事板中实例化视图控制器时,视图在实际显示在屏幕上之前不会加载。在您的代码中,您发布的introViewController.textLabel
为零。
您可以执行的一个选项是向IntroViewController
类添加属性,而是设置:
introViewController.initialText = @"test";
然后,在-viewDidLoad
的{{1}}内,标签将被实例化,以便您可以拨打电话:
IntroViewController
值得注意的是,大多数情况下,建议让视图控制器在其拥有的视图上设置值,而不是其他视图控制器。