ful*_*100 1 iphone uinavigationcontroller ipad rootview
我做了一个简单的基于导航的应用程序.它非常适用于iphone,但它不适用于ipad 3.2模拟器和设备.
在applicationdidfinish事件中;
MainViewController *viewController = [[MainViewController alloc] initWithNibName:@"MainView" bundle:nil];
[self.navigationController pushViewController:viewController animated:NO];
self.window.rootViewController = self.navigationController;
[viewController release];
Run Code Online (Sandbox Code Playgroud)
它说这条线:
self.window.rootViewController = self.navigationController;
Run Code Online (Sandbox Code Playgroud)
[UIWindow setRootViewController:]:无法识别的选择器发送到实例0x4c22dd0
但它适用于ipad 4.2及以上版本.
我怎么能为ipad 3.2解决它?
UIWindow在iOS <4.0中没有rootViewController属性.因此,您需要检查版本(google it)然后设置rootViewController,或者view根据用户运行的版本将navigationController 作为子视图添加到窗口中,如下所示:
[self.window addSubview:self.navigationController.view];
Run Code Online (Sandbox Code Playgroud)
快速编辑:要检查是否可以使用rootViewController属性,可以检查是否[self.window respondsToSelector:@selector(setRootViewController)]返回TRUE或FALSE.
| 归档时间: |
|
| 查看次数: |
1888 次 |
| 最近记录: |