我正在开发Iphone应用程序。 我正在使用StoryBoard。
我有一个带有3个标签的标签视图。 “主页”,“用户”和“设置”。
我在故事板上创建了“主页”和“用户”视图,但设置视图是一个XIB文件(SettingsView.xib)
如何让第三个标签(“设置”)打开SettingsView.xib?我可以同时使用故事板和xib文件吗?
我尝试在AppDelegate中的UINavigationController
方法中初始化startApp
,但我无法找到如何将其添加到故事板。
感谢您的帮助
答案 0 :(得分:3)
TabViewControllers通常为每个选项卡都有一个导航控制器。 在故事板中创建导航控制器,并将它们连接到选项卡视图控制器的navigationcontrollers关系。
导航控制器的初始视图连接到导航控制器的rootViewController关系。
关于你的第二个问题,我不确定,但我认为以下内容可行: -
在storyboard中创建一个UIViewController,并将它的类更改为您从XIB加载的类。当故事板实例化该类时,它将使用XIB,前提是该类的类名与XIB的名称完全匹配。我不认为你可以在这里做任何iPad / iPod检查。
答案 1 :(得分: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];