我在网上四处寻找,并没有找到解决这个问题的可接受的方法......
我正在寻找一个简单的代码模式:
从单独的 .xib 文件中加载 TabBarController 对象(带有关联的子视图控制器),而不是从默认的 MainWindow.xib 中自动包含和加载。
在 XCode 术语中,从一个新的 iPad/iPhone 项目作为“Tab Bar Application”开始,目标是解决以下问题:
- 创建项目
- 将 MainWindow.xib 中的 TabBarController、TabBar、FirstViewController 和 SelectedSecondViewController 移动到新的“TabBarController.xib”文件中
- 移动后,MainWindow.xib 应该只包含:File's Owner、First Responder、App Delegate、Window
- 在 TabBarController.xib 中,File's Owner 和 First Responder 分别设置为:UIApplication 和 UIResponder。
- 将主应用程序委托中的“didFinishLaunchingWithOptions”更改为以下内容:
消除:
[self.window addSubview:tabBarController.view];
添加:
UITabBarController *uiTab = [[UITabBarController alloc] initWithNibName:@"TabBarController" bundle:nil]; [self.window addSubview:uiTab.view];
通过这些更改,应用程序构建并运行,但是当 TabBarController 加载时,选项卡栏是“空的”——控制器中似乎没有任何内容。
在查看调试器时,“init”没有正确地从数据初始化,或者 .xib 文件中的某些内容没有正确设置。
什么是正确的解决方案?我意识到还有其他方法可以做到这一点,是的,我让它们在其他应用程序中工作。
然而,我正在寻找的是使用默认项目的特定解决方案,它可以用作设置 iOS 代码的一般模式。
提前感谢您的帮助
- js