应用程序窗口应在应用程序启动结束时具有根视图控制器 - 即使修复了所有已知问题

Tho*_*son 8 ios ios-simulator ios5 ios6

我有这个问题,但是我在这个论坛或互联网上找到的信息似乎都无法帮助我.

似乎有两个地方会出现此错误:

  1. main.m - 我的函数看起来像这样:
  int main(int argc, char *argv[])
    {
        @autoreleasepool {
            return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
        }
    }
Run Code Online (Sandbox Code Playgroud)

最后一个参数UIApplicationMain返回NSString我的类的值AppDelegate.因此工作正常.

2.AppDelegate.m - 有一种设置根视图控制器的"旧"方法,如下所示:

  [self.window addSubview:rootViewController];
Run Code Online (Sandbox Code Playgroud)

但是,在我的应用程序中,它已更新为:

self.window.rootViewController = self.viewController;
[self.window makeKeyAndVisible];
Run Code Online (Sandbox Code Playgroud)

因此,互联网上的当前信息都不起作用.更令人费解的是,我的同事可以让它在他的计算机上工作得非常好 - 他是那个向我发送应用程序源代码的人,所以所有的设置和代码应该完全相同.

我试图在模拟器中启动它.它是针对iOS 5构建的,但我试图在iOS 6.0模拟器上运行它.

我有最新的XCode(4.5.1).

有什么理由会发生这种情况吗?我该如何纠正呢?

非常感谢

汤姆

小智 17

我尝试将UITableView添加到单视图应用程序时遇到了同样的问题.相反,创建一个默认的Master-Detail Application项目(file-> new-> target - > ...)并查看AppDelegate的didFinishLaunchingWithOptions实现:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.

MDMasterViewController *masterViewController = [[MDMasterViewController alloc] initWithNibName:@"MDMasterViewController" bundle:nil];
self.navigationController = [[UINavigationController alloc] initWithRootViewController:masterViewController];
self.window.rootViewController = self.navigationController;
[self.window makeKeyAndVisible];
return YES;
}
Run Code Online (Sandbox Code Playgroud)

您不需要将视图控制器直接设置为窗口的rootViewController,而是需要使用视图控制器为initWithRootViewController创建一个导航控制器,然后将该导航控制器设置为窗口的rootViewController.(请注意,您还必须将属性中的导航控制器松开,以免被破坏).


And*_*ith 6

只需改变这个:

[window addSubview:tabBarController.view];
Run Code Online (Sandbox Code Playgroud)

对此:

[window setRootViewController:tabBarController];
Run Code Online (Sandbox Code Playgroud)

或者addSubView中的任何内容:


归档时间:

查看次数:

23951 次

最近记录:

12 年,1 月 前