IOS 下获取 rootviewcontroller 的版本不同的问题解决办法
IOS下获取rootviewcontroller的版本不同的问题解决办法
一般原生的
[[UIApplicationsharedApplication].keyWindow.rootViewControllerpresentModalViewController:selfanimated:NO];
可以获取 系统的 rootviewcontroller
但cocos2d-x2.1.1在appcontroller.mm内定义的加载方法是
//SetRootViewControllertowindow
if([[UIDevicecurrentDevice].systemVersionfloatValue]<6.0)
{
//warning:addSubViewdoesn'tworkoniOS6
[windowaddSubview:viewController.view];
}
else
{
//usethismethodonios6
[windowsetRootViewController:viewController];
}
也就是说 只有在ios6下才设置rootview 其他时候是使用addsubview的方法加载。
所以相应的获取rootviewcontroller方法要改为。
if([[UIDevicecurrentDevice].systemVersionfloatValue]<6.0)
{
//warning:addSubViewdoesn'tworkoniOS6
NSArray*array=[[UIApplicationsharedApplication]windows];
UIWindow*win=[arrayobjectAtIndex:0];
UIView*ui=[[winsubviews]objectAtIndex:0];
UIViewController*ctrol=(UIViewController*)[uinextResponder];
}
else
{
//usethismethodonios6
UIViewController*ctrol=[UIApplicationsharedApplication].keyWindow.rootViewController];
}
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
热门推荐
1 如何训练狗狗不叫
2 训练狗狗不叫
3 训练狗狗随行
4 怎么训练狗狗不叫
7 训练比熊狗狗教程
10 上海狗狗训练
11 怎么训练狗狗上厕所
12 训练狗狗趴下
13 狗狗服从训练
14 训练狗狗拒食
15 训练狗狗笑
16 训练狗狗大便
17 训练狗狗立
18 训练狗狗捡东西