我有一个UINavigationController,我使用pushViewController:animated:
将UIViewControllers推送到其上。在此之后,我在该传入视图上调用一个方法来设置它的一些IB出口。不幸的是,这些仅在我为视图设置动画时才会设置。
所以这会奏效:
MyViewController *newView = [[MyViewController alloc] initWithNibName:@"MyViewController" bundle:nil];
[self.navigationController pushViewController:newView animated:YES];
[newView updateOutletsForObject:myObject];
但这不会:
MyViewController *newView = [[MyViewController alloc] initWithNibName:@"MyViewController" bundle:nil];
[self.navigationController pushViewController:newView animated:NO];
[newView updateOutletsForObject:myObject];
有谁知道为什么会发生这种情况?提前谢谢。
答案 0 :(得分:0)
在我看来,父视图控制器不应该设置孩子的出口。您应该在子视图控制器的-viewDidLoad
中处理IBOutlet连接。