Iphone 为ipad 3.2设置rootViewController不起作用

Iphone 为ipad 3.2设置rootViewController不起作用,iphone,ipad,uinavigationcontroller,rootview,Iphone,Ipad,Uinavigationcontroller,Rootview,我做了一个简单的基于导航的应用程序。 它在iphone上运行得很好,但在iPad3.2模拟器和设备上不起作用 在应用程序完成事件中 MainViewController *viewController = [[MainViewController alloc] initWithNibName:@"MainView" bundle:nil]; [self.navigationController pushViewController:viewController animated:NO]; sel

我做了一个简单的基于导航的应用程序。 它在iphone上运行得很好,但在iPad3.2模拟器和设备上不起作用

在应用程序完成事件中

MainViewController *viewController = [[MainViewController alloc] initWithNibName:@"MainView" bundle:nil];
[self.navigationController pushViewController:viewController animated:NO];
self.window.rootViewController = self.navigationController;
[viewController release];
它说这一行:

self.window.rootViewController = self.navigationController;
[UIWindow setRootViewController:]:无法识别的选择器发送到实例0x4c22dd0

但它可以在iPad4.2及以上版本上运行


ipad 3.2如何解决此问题?

UIWindow在iOS<4.0中没有rootViewController属性。因此,您需要检查版本(google it),然后根据用户正在运行的版本,设置rootViewController,或将navigationController的
视图添加为窗口的子视图,如下所示:

[self.window addSubview:self.navigationController.view];

快速编辑:要检查是否可以使用rootViewController属性,可以检查
[self.window respondsToSelector:@selector(setRootViewController)]
是否返回TRUE或FALSE。

UIWindow在iOS<4.0中没有rootViewController属性。因此,您需要检查版本(google it),然后根据用户正在运行的版本,设置rootViewController,或将navigationController的
视图添加为窗口的子视图,如下所示:

[self.window addSubview:self.navigationController.view];
快速编辑:要检查是否可以使用rootViewController属性,可以检查
[self.window respondsToSelector:@selector(setRootViewController)]
是否返回TRUE或FALSE。

正确的方法是(不要忘记):“!):

正确的方法是(别忘了):“!):


很好,它适用于所有iOS版本。我想我不需要检查版本。因为我没有在IB中设置视图控制器。谢谢…太好了,它适用于所有iOS版本。我想我不需要检查版本。因为我没有在IB中设置视图控制器。谢谢。。。