【H5+ & Quick-cocos2dx整合】之iOS 五 横竖屏切换处理

【H5+ & Quick-cocos2dx整合】之iOS 五 横竖屏切换处理,第1张

概述ios屏幕视图分为竖屏视图和横屏视图,横屏视可以旋转而竖屏视图则不可以。在viewcontroller中有三个系统级的方法来控制当前屏幕视图的 *** 作。 shouldAutorotate:是否可以旋转; supportedInterfaceOrientations:支持的旋转方向有哪些; preferredInterfaceOrientationForPresentation:默认的屏幕方向设置 这三 ios屏幕视图分为竖屏视图和横屏视图,横屏视可以旋转而竖屏视图则不可以。在vIEwcontroller中有三个系统级的方法来控制当前屏幕视图的 *** 作。

shouldautorotate:是否可以旋

supportedInterfaceOrIEntations:支持的旋转方向有哪些;

preferredInterfaceOrIEntationForPresentation:默认的屏幕方向设置

这三个方法用于ios6,之前版本用shouldautorotatetoInterfaceOrIEntation来控制视图方向。

cocos2dx的屏幕视图控制

cocos2dx在创建项目时,在项目根目录生成config.Json,该文件是用来配置屏幕视图的,其中参数isLandscape就是用来配置是否横屏显示视图。

RootVIEwController.mm是cocos的视图控制类,该类重写shouldautorotate和supportedInterfaceOrIEntations,并根据配置信息来控制视图显示,如下:

- (BOol) shouldautorotate {

if (ConfigParser::getInstance()->isLanscape()) {

return YES;// isLandscapetrue时,表示横屏,则可以旋转视图

}else{

return NO;

}

}

- (NSUInteger)supportedInterfaceOrIEntations{

#ifdef __IPHONE_6_0

if (ConfigParser::getInstance()->isLanscape()) {

return UIInterfaceOrIEntationMaskLandscape;

}else{

return UIInterfaceOrIEntationMaskPortraitUpsIDeDown;

}

#endif

}

:ConfigParser是针对config.Json配置内容的解析工具类,提供配置信息的解析和读写方法。

H5+ SDK的屏幕视图控制

H5 plus的视图方向控制经过PDRCoresettings的封装,他的配置信息存储在info.pList中。由于sdk非开放源码,只能看到接口定义。

PDRCoresettings接口如下:

//加载配置文件

- (voID) load;

// info.pList中支持的方向

- (BOol)configSupportOrIEntation:(UIInterfaceOrIEntation)orIEntation ;

//判断是否支持指定的方向

- (BOol) supportsOrIEntation:(UIInterfaceOrIEntation)orIEntation;

//判断所有支持的方向

- (NSUInteger)supportedInterfaceOrIEntations;

//设置支持的方向

- (voID) setlockOrIEntation:(NSUInteger)orIEntation;

H5VIEwController.mm是HTML5 plus sdk的视图控制类,重写了supportedInterfaceOrIEntations,并读取info.pList的方向配置来供系统调用。

- (UIInterfaceOrIEntationMask)supportedInterfaceOrIEntations

{

return [[PDRCore Instance].settings supportedInterfaceOrIEntations];

}

由于需求要求该视图必须是竖屏视图,所以该视图只能支持竖屏,解决方法有两种:

第一是修改info.pList,配置只支持竖屏;

第二是修改代码

UIInterfaceOrIEntationMaskPortrait

替换

[[PDRCore Instance].settings supportedInterfaceOrIEntations];

综上所述是ios的视图方向控制的工作逻辑,这些功能使用是前提是需要让该应用支持相应的视图方向。设置方法:target -> General -> Deployment Info -> Device OrIEntation

勾选相应的选项。

总结

以上是内存溢出为你收集整理的【H5+ & Quick-cocos2dx整合】之iOS 五 横竖屏切换处理全部内容,希望文章能够帮你解决【H5+ & Quick-cocos2dx整合】之iOS 五 横竖屏切换处理所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1081534.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存