如何从故事板上的视图控制器获取子视图

我有两个视图控制器,每个都有一个UIView它有一个标签。 我想将第一个视图控制器的视图设置为按下button时的第二个视图。 当我这样做时,第二个视图控制器不会加载视图,并且指针在我的第二个视图上的UIView为空,所以我不能在我的第一个视图上做任何事情。 我所做的就是这个,因为我的secondViewNew是我的secondView属性。 这是可能在故事板上完成吗? 我也尝试了[self.storyboard instantiateViewControllerWithIdentifier:@“beaconContentID”]做事情的方法。 在这个项目中,secondViewNew也是一个UIView,并且我导入了所有相关的类。

SecondViewController *secondViewControllerInstance = [[SecondViewController alloc] init]; UIView *test = secondViewControllerInstance.secondViewNew; NSLog(@"%@",test); 

您的secondViewNew不会立即在alloc / init之后加载。

只有在第二个视图控制器上调用了awakeFromNib方法后,才能保证它实例化。

我不确定你想要实现什么,但是如果它不属于其中的一个,那么你应该将视图从视图控制器中分离出来。 只是子类UIView并创build一个关联的笔尖。 这样你可以在需要的时候实例化视图。

这里是步骤:

  • 创build一个新的UIView的子类,即CustomView
  • 创build一个新的笔尖文件即CustomView.xib
  • 添加一个视图到你的nib文件,并将它的自定义类设置为CustomView,按照你的喜好添加子视图等

最后,在你想使用自定义视图的视图控制器中:

 CustomView *customView = [[[NSBundle mainBundle] loadNibNamed:@"CustomView" owner:self options:nil] objectAtIndex:0];