我已经在我的主视图控制器中设置了一个容器视图。我是通过界面构建器配置的。主视图控制器保存容器视图,并且我有自定义类(从UIViewController派生)来处理容器视图的控制器中的工作。我已经在容器视图中布置了所有小部件,并且一切正常。现在,我发现了一种情况,我想在不同的视图控制器中重复使用相同的代码。
因此,我从以下内容开始,以验证代码是否被击中:
iPad_Expansion_ContViewController *kaufer = [iPad_Expansion_ContViewController new];
[gameController addChildViewController:kaufer];
kaufer.view.frame = CGRectMake(100, 200, 500, 500);
kaufer.view.backgroundColor = [UIColor blueColor];
[gameController.view addSubview:kaufer.view];
[gameController.view bringSubviewToFront:kaufer.view];
[kaufer didMoveToParentViewController:gameController];
确实的确创建了一个大蓝框。但是,如何加载通过接口构建器定义的containerViewController的内容?我想我需要类似以下内容的东西,但我不知道在哪里可以找到通过Interface Builder创建的NIB名称。
iPad_Expansion_ContViewController *kaufer = [[iPad_Expansion_ContViewController alloc] initWithNibName:@"???????" bundle:[NSBundle mainBundle]];
[gameController addChildViewController:kaufer];
[kaufer didMoveToParentViewController:gameController];
从我所有的网络搜索中,找到NIB名称似乎是简单而明显的。但是我仍然缺少一些东西……我尝试使用故事板的名称。但是,kaufer中的所有对象均为零,并且屏幕上没有显示任何视图。
好吧,这是一个非常艰难的下午。毕竟我并没有发疯(至少在这件事上没有发疯):从Xcode 6.4开始,在故事板中找到.xib名称viewControllers比在以前的版本中难得多。这两个问题并未完全解决问题,但它们提供了让我再次感动的主要线索:
STORYBOARD-不包含带有标识符的视图控制器(khaliq的答案)
事不宜迟,我在Internet上释放了以下代码段(正在运行):
UIStoryboard *storyboard = self.storyboard;
myCustomContViewController *kaufer = (myCustomContViewController *)[storyboard instantiateViewControllerWithIdentifier:@"shopper"];
[mainController addChildViewController:kaufer];
[mainController.view addSubview:kaufer.view];
[mainController.view bringSubviewToFront:kaufer.view];
[kaufer didMoveToParentViewController:mainController];
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句