4

我正在开发一个 Iphone 应用程序。我正在使用故事板。

我有一个带有 3 个选项卡的选项卡视图。“主页”、“用户”和“设置”。

我在故事板上创建了“主页”和“用户”视图,但设置视图是一个 XIB 文件 (SettingsView.xib)

如何使第三个选项卡(“设置”)打开 SettingsView.xib?我可以同时使用故事板和 xib 文件吗?

我试图在 AppDelegateUINavigationControllerstartApp方法中初始化 a 但我不知道如何将它添加到故事板。

谢谢你的帮助

4

2 回答 2

3

TabViewController 通常每个选项卡都有一个导航控制器。在故事板中创建导航控制器并将它们连接到选项卡视图控制器的导航控制器关系。

导航控制器的初始视图连接到导航控制器的 rootViewController 关系。

至于你的第二个问题,我不确定,但我认为以下方法会起作用:-

在情节提要中创建一个 UIViewController 并将其类更改为您从 XIB 加载的类。当故事板实例化类时,它将使用 XIB,前提是类的类名与 XIB 的名称完全匹配。我不认为你可以在这里做任何 iPad/iPod 检查。

于 2012-07-31T11:20:07.047 回答
0

您可以将基于 xib 的视图添加到基于情节提要的选项卡栏控制器,如下所示。我假设以下内容:

  • 标签栏控制器是故事板的初始视图控制器。
  • 您的设置控制器是一个名为的类SettingsController
  • 您的捆绑包中有一个标签栏图像,名为SettingsTabImage

在情节提要中定义选项卡栏控制器,其中仅包含基于情节提要的选项卡栏项目-在您的情况下为主页和用户

在您的应用程序委托中,使用以下代码application:didFinishLaunchingWithOptions:

// Create your settings view controller
SettingsController *settingsVC = [[SettingsController alloc] initWithNibName:nil bundle:nil];

// Create a tab bar item
UITabBarItem *settingsItem = [[UITabBarItem alloc] initWithTitle:@"Settings" image:[UIImage imageNamed:@"SettingsTabImage" tag:0];
settingsVC.tabBarItem = settingsItem;

// Get a reference to the tab bar controller
UITabBarController *tbC = (UITabBarController*)self.window.rootViewController;

// Get the current view controllers in your tab bar
NSMutableArray *currentItems = [NSMutableArray arrayWithArray:tbC.viewControllers];

// Add your settings controller
[currentItems addObject:settingsVC];
tbC.viewControllers = [NSArray arrayWithArray:currentItems];
于 2012-08-02T12:29:05.970 回答