添加子视图控制器并更改其标签

时间:2013-02-28 18:46:16

标签: ios objective-c xcode storyboard

我的故事板中有一个名为IntroViewController的视图控制器,我希望将它作为一个子项添加到另一个视图控制器中,如下所示:

     IntroViewController *introViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"View1"];
     [introViewController.textLabel setText:@"test"];
     [self addChildViewController:introViewController];

在IntroViewController上,我在故事板中放了一个名为textLabel的标签,如果我运行该程序,它会显示视图控制器,但文本不会被更改。知道如何解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

从故事板中实例化视图控制器时,视图在实际显示在屏幕上之前不会加载。在您的代码中,您发布的introViewController.textLabel为零。

您可以执行的一个选项是向IntroViewController类添加属性,而是设置:

introViewController.initialText = @"test";

然后,在-viewDidLoad的{​​{1}}内,标签将被实例化,以便您可以拨打电话:

IntroViewController

值得注意的是,大多数情况下,建议让视图控制器在其拥有的视图上设置值,而不是其他视图控制器。