标签栏应用程序中不存在 MainView.xib
Posted
技术标签:
【中文标题】标签栏应用程序中不存在 MainView.xib【英文标题】:MainView.xib not present in tab bar app 【发布时间】:2011-11-23 21:43:51 【问题描述】:我是标签栏应用程序的新手,我发现所有教程都需要在 MainView.xib 中进行更改,但是当我创建一个新的标签栏应用程序(在 Xcode 4 中)时,没有 MainView.xib。唯一的有:
FirstViewController_iPhone.xib 首先...iPad.xib 第二...iPhone.xib 二...iPad.xib
它应该在那里,但它不见了,或者你能给我指一个不需要 Interface Builder 的教程吗?
【问题讨论】:
【参考方案1】:设置主界面的方法在 ios 的最后几个版本中发生了变化。您可以在项目设置或代码中设置它,默认情况下这样做:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
// Override point for customization after application launch.
UIViewController *viewController1, *viewController2;
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone)
viewController1 = [[[FooFirstViewController alloc] initWithNibName:@"FooFirstViewController_iPhone" bundle:nil] autorelease];
viewController2 = [[[FooSecondViewController alloc] initWithNibName:@"FooSecondViewController_iPhone" bundle:nil] autorelease];
else
viewController1 = [[[FooFirstViewController alloc] initWithNibName:@"FooFirstViewController_iPad" bundle:nil] autorelease];
viewController2 = [[[FooSecondViewController alloc] initWithNibName:@"FooSecondViewController_iPad" bundle:nil] autorelease];
self.tabBarController = [[[UITabBarController alloc] init] autorelease];
self.tabBarController.viewControllers = [NSArray arrayWithObjects:viewController1, viewController2, nil];
self.window.rootViewController = self.tabBarController;
[self.window makeKeyAndVisible];
return YES;
由于它是一个标签栏应用程序,该应用程序在代码中创建了一个 UITabBarController,然后将其视图控制器设置为 FirstViewController 和 SecondViewController 类的实例。
如果你想跟着书,你可以删除这个方法的内容,并创建一个名为 MainWindow.xib 的 xib,其中有一个标签栏控制器和两个孩子,即上述实例。单击您的目标设置,然后在“摘要”页面上的iPhone / iPod 部署信息 下,您应该会看到一个标有主界面 的下拉菜单。将其值设置为 MainWindow.xib 以在应用运行时加载它。
【讨论】:
以上是关于标签栏应用程序中不存在 MainView.xib的主要内容,如果未能解决你的问题,请参考以下文章
Windows 10 移动版 - 无法隐藏状态栏(上下文中不存在状态栏)
WIX Navigation V2 - 推送到新屏幕时隐藏底部标签栏