将XIB视图添加到故事板中的选项卡视图

问题描述:

我正在使用Iphone应用程序。 我正在使用StoryBoard。将XIB视图添加到故事板中的选项卡视图

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

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

我怎样才能使第三个选项卡(“设置”)开放SettingsView.xib?我可以同时使用故事板和xib文件吗?

我试图在AppDelegate的startApp方法中初始化一个UINavigationController,但是我找不到如何将它添加到故事板。

感谢您的帮助

+0

这是两个问题,几乎肯定是重复的;希望我的答案适合你。 – 2012-07-31 11:21:15

您可以按如下方式将基于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]; 
+0

谢谢我会尝试一下。一个问题,如果标签栏控制器不是初始视图,我怎么能得到它的参考? (有一个视图控制器,带有一个按钮,将导致标签栏控制器) – Youssef 2012-08-02 12:58:01

+0

您需要将这样的代码放在prepareForSegue方法中,该方法在显示标签栏控制器之前运行。在这种情况下,标签栏控制器将成为segue的目标视图控制器。 – jrturton 2012-08-02 13:00:00

+0

工作就像一个魅力。谢了哥们 – Youssef 2012-08-02 14:18:13

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

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

关于你的第二个问题,我不能肯定,但我认为下面的工作: -

创建故事板一个UIViewController和改变它的类类,你从厦门国际银行加载。当故事板实例化类时,它将使用XIB,前提是该类的类名完全匹配XIB的名称。虽然我不认为你可以在这里做任何iPad/iPod检查。

+0

“当故事板实例化类时,它将使用XIB,前提是该类的类名与XIB的名称完全匹配”做了窍门 – anoop4real 2016-01-17 09:15:39