MyViewController *myVC = (MyViewController *)[self.storyboard instantiateViewControllerWithIdentifier:@"MyViewController"];
[scrollView addSubview:myVC.view];
上面的代码有效,它加载了我在我的情节提要中的一个视图控制器,情节提要 ID 为:“MyViewController”,并将其显示为子视图。
唯一的事情是,例如,我想在执行 addSubview 之前在该视图控制器上设置 UILabel 的文本。
像这样:
MyViewController *myVC = (MyViewController *)[self.storyboard instantiateViewControllerWithIdentifier:@"MyViewController"];
myVC.aTextLabel.text = @"pippo";
[scrollView addSubview:myVC.view];
但是,这不起作用。UILabel 为空。- 在我做 addSubview 之后,我不能对视图做任何事情。像这样:
MyViewController *myVC = (MyViewController *)[self.storyboard instantiateViewControllerWithIdentifier:@"MyViewController"];
[scrollView addSubview:myVC.view];
myVC.aTextLabel.text = @"pippo";
上面的工作,但它并不漂亮,标签的文本在添加视图后发生了变化!
当我以前在没有故事板的情况下这样做时,我会这样做:
MyViewController *myVC = [[MyViewController alloc] initWithNibName:@"MyViewController" bundle:nil];
myVC.aTextLabel.text = @"pippo";
[scrollView addSubview:myVC.view];
这会很好。
我正在显示的视图没有通过序列连接到其他视图,我将它的多个实例并排加载到 UIScrollView 中,所以我希望最简单的方法类似于上面的方法。
那么,如何以编程方式实例化视图,更新该视图上的 UILabel,然后将其添加为子视图?