这篇文章主要介绍了IOS 下获取 rootviewcontroller 的版本不同的问题解决办法的相关资料,希望通过本文能帮助到大家,让大家遇到这种问题可以解决,需要的朋友可以参考下
IOS 下获取 rootviewcontroller 的版本不同的问题解决办法
一般 原生的
[[UIApplication sharedApplication].keyWindow.rootViewController presentModalViewController:self animated:NO];
可以 获取 系统的 rootviewcontroller
但 cocos2d-x 2.1.1 在 appcontroller.mm 内定义的 加载方法是
// Set RootViewController to window
if ( [[UIDevice currentDevice].systemVersion floatValue] < 6.0)
{
// warning: addSubView doesn't work on iOS6
[window addSubview: viewController.view];
}
else
{
// use this method on ios6
[window setRootViewController:viewController];
}
也就是说 只有在 ios6 下 才设置rootview 其他时候是 使用addsubview的方法 加载。
所以 相应的 获取 rootviewcontroller方法 要改为。
if ( [[UIDevice currentDevice].systemVersion floatValue] < 6.0)
{
// warning: addSubView doesn't work on iOS6
NSArray* array=[[UIApplication sharedApplication]windows];
UIWindow* win=[array objectAtIndex:0];
UIView* ui=[[win subviews] objectAtIndex:0];
UIViewController* ctrol=(UIViewController*)[ui nextResponder];
}
else
{
// use this method on ios6
UIViewController* ctrol=[UIApplication sharedApplication].keyWindow.rootViewController];
}
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
沃梦达教程
本文标题为:IOS 下获取 rootviewcontroller 的版本不同的问题解决办法
猜你喜欢
- Android studio实现动态背景页面 2023-05-23
- Android MaterialButton使用实例详解(告别shape、selector) 2023-06-16
- 最好用的ios数据恢复软件:PhoneRescue for Mac 2023-09-14
- Flutter实现底部和顶部导航栏 2022-08-31
- Android实现轮询的三种方式 2023-02-17
- 作为iOS开发,这道面试题你能答出来,说明你基础很OK! 2023-09-14
- iOS 对当前webView进行截屏的方法 2023-03-01
- SurfaceView播放视频发送弹幕并实现滚动歌词 2023-01-02
- 详解flutter engine 那些没被释放的东西 2022-12-04
- Android实现监听音量的变化 2023-03-30
