标签栏应用程序中不存在 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的主要内容,如果未能解决你的问题,请参考以下文章

标签栏在 iOS 中不可见

Windows 10 移动版 - 无法隐藏状态栏(上下文中不存在状态栏)

WIX Navigation V2 - 推送到新屏幕时隐藏底部标签栏

IOS Segue 在自定义标签栏中不起作用

当我尝试创建图像资产时,Android Studio 中不存在文件 Logo.png

在第二个标签栏项目中不显示搜索控制器的键盘