美文网首页
IOS iPhone X 的适配

IOS iPhone X 的适配

作者: XIONGSJ | 来源:发表于2018-06-28 17:40 被阅读0次

iPhone X的适配分为两种(本文主要说明第二种方法)

1.游戏中UI的自适配,即根据设备代码调整部分UI 的位置。这样的效果是最好的,游戏能填充整个手机屏幕

2.另外一种是不修改现有的游戏UI代码,通过修改绘制区域,使屏幕刘海和底部都黑边填充来适配

#1 .Xcode 配置启动页

cocos 创建的工程在用xcode 打包IPA 时很多时候是使用Launch Images Source 配置启动页面来适配屏幕。这里我使用配置 Launch Screen File 的方式来做屏幕的适配,使应用能全屏显示。(你可以尝试不使用启动页了解效果差距)

#2 .代码修改绘制区域

iOS 11.0之后系统新增安全区域变化方法,通过安全区域变化来改变视图的位置

UIViewController中新增:- (void)viewSafeAreaInsetsDidChange;

UIView中新增:- (void)viewSafeAreaInsetsDidChange;

在 RootViewController.mm 文件中加入以下代码,至于黑边的宽度可根据需要修改(这里的参数是我们游戏需要所以才这样配置)。

#3. 个性化的黑边区域(可选的操作)

现实中难免会有策划说黑边好难看和游戏不搭,要换成游戏UI底图类似的要求。这样的话需要在 AppDelegate.mm 中的- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 添加对应的图片(实际上就是添加一个原生的控件,正常来说是个 UIImage, 这里只做个示范)

参考

#4. cocos 的UI适配模式修改

到上面为止实际上iPhoneX 已经能适配(游戏中实际能绘制的区域已经满足适配),不过有些时候在一开始会修改 cocos中的适配方式,设置成FIX_WIDTH 或者SHOW_ALL , 所以在完成上面的原生平台的适配后还需要修改 coco中的适配(否则会出现coco适配后又留出黑边的情况)。所以在iPhone X的设备上需要修改适配方式为 EXACT_FIT

参考

#5. 由于适配导致cocos EditBox 控件功能异常

cocos 在 CCEAGLView-ios 中针对 EditBox 键盘唤起、隐藏操作的同时对UI做了移动操作,适配之后使用EditBox 唤起键盘后会发现黑边全部在一侧,适配遭到了破坏。对此可以在CCEAGLView-ios的 doAnimationWhenKeyboardMoveWithDuration 方法中对 frame 的操作,针对iphoneX设备再进一步的处理

相关文章

网友评论

      本文标题:IOS iPhone X 的适配

      本文链接:https://www.haomeiwen.com/subject/hergyftx.html