2

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

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

在 IntroViewController 上,我在情节提要中放置了一个名为 textLabel 的标签,如果我运行程序,它可以工作并向我显示视图控制器,但文本不会改变。知道如何解决这个问题吗?

4

1 回答 1

0

当您从情节提要中实例化视图控制器时,视图不会加载,直到它实际呈现在屏幕上。在您发布的代码中,您发布introViewController.textLabel的内容为零。

您可以做的一个选择是向您的IntroViewController类添加一个属性,然后设置:

introViewController.initialText = @"test";

然后,在-viewDidLoadIntroViewController的标签内部将被实例化,以便您可以拨打电话:

[self.textLabel setText:self.initialText];

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

于 2013-02-28T18:52:55.620 回答