Iphone 为ipad 3.2设置rootViewController不起作用
我做了一个简单的基于导航的应用程序。 它在iphone上运行得很好,但在iPad3.2模拟器和设备上不起作用 在应用程序完成事件中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
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中设置视图控制器。谢谢。。。