iOS开发-------- iPhone X代码适配 (齐刘海处理)
升级了Xcode9,变化很大啊,先说大家一直关心的适配齐刘海吧.
这个东西好像出来之后 我QQ群里面iOS开发的很多人都炸了.确实这个齐刘海对我们开发者很不友好,往上xib的项目适配文章已经有了,但是还没有特别好的纯代码工程的适配.今天我就抛砖引玉,简单说一下我的纯代码工程是如何进行适配的.
首先先说一下,如果你刚刚升级Xcode9之后,急不可耐马上打开iPhoneX的话,那么你会发现自己的工程是这样的:
丑的一匹吧.而且也没体现出iPhoneX的大占比
.这时候你需要在项目设置里面直接用LaunchScreen.xib或者LaunchScreen.storyboard进行配置启动图或者images-LaunchImage 里面添加上iPhoneX的启动图 1125 × 2436
同时上传一下适配好的页面大家进行一个对比:
我改了一下导航栏颜色,看的更直观一点.
再说一下顶部状态栏的问题,大家状态栏最好还是用
CGRect statusBarFrame = [[UIApplication sharedApplication] statusBarFrame];
来获取 不要用固定数字啦~这次是齐刘海下次可能是马尾辫卧槽
昨天发完文章之后,我收到有人回复说和系统的不一样,吓得我赶紧打开系统相册看一看,图片是这样的:
于是我稍微调整了一下:
简单逻辑就是
#define TabbarHeight ([[UIApplication sharedApplication] statusBarFrame].size.height>20?83:49) // 适配iPhone x 底栏高度_tabBarView.frame = CGRectMake(0, CurrentScreenHeight - TabbarHeight, CurrentScreenWidth, TabbarHeight);
- 1
- 2
- 3
- 4
- 5
下面贴图
还有问题请继续留言哦,我看到必定第一时间回复并更新文章
再说一下下面tabbar的问题,有的人说自己的tabbar受到了影响,这个我想说我的自己写的一套tabbarController,是在最底部的view上添加的按钮,所以获取屏幕高度后,没有产生错位问题,大家如果有移位问题的可以留言,我会第一时间回复的
还有就是关心的比例适配.这里我想说的是.iPhoneX 和5 6 6P的比例尺寸不同的,但是其实宽度比是正比的,只是高度比的问题.我们可以在所有的比例适配中都乘以屏幕宽度比,不管是左右还是上下,这样,同一页面 iPhone X的状态就是比其他机型加大了可观看域,不影响其他的布局及显示哦.如果还有 [爱劈叉]的适配问题,可以在底部留言哦,这篇文章也会持续更新.
其他参考文章:
1,《关于刘海打理这种事儿,美团点评的iOS工程师早就有经验》
2,《企鹅 FM-iOS 11 安全区域适配总结》
iOS开发-------- iPhone X代码适配 (齐刘海处理)相关推荐
- IOS 开发 iPhone屏幕尺寸、分辨率及适配
版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] 1.iPhone尺寸规格 设备 iPhone 宽 Width 高 Height 对角线 Diagonal 逻辑分辨率(point ...
- 苹果要求全新App开发四月起必须支持“齐刘海”
近日消息,苹果公司通过邮件告知应用程序开发者,从2018年4月起提交给App Store的所有新应用必须支持iPhone X的超级视网膜显示器.这意味着新应用程序的开发者必须确保它们适应"齐 ...
- Android 三步简单适配齐刘海系统状态栏
个人思路: 说到齐刘海适配,最典型的就是MainActivity的几个fragment中有的需要透明系统状态栏 有的不需要, 而一般需要透明系统状态栏的fragment顶部都会放个轮播图,然后在轮播图 ...
- [ios开发基础之]代码块
iOS4引入了一个新特性,支持代码块的使用, 这将从根本上改变你的编程方式.代码块是对C语言的一个扩展,因此在Objective-C中完全支持.如果你学过Ruby,Python或Lisp编程 语言,那 ...
- html居右显示语言设置,iOS开发:纯代码设置UIButton文字居左或者居右显示
UIButton这个控件使用,作为资深的iOS开发人员来说是小儿科,但是有些时候还是需要记录一下UIButton的一些其他用法,这样方便快速解决实际问题.比如UIButton的纯代码编程的时候,设置文 ...
- iOS开发地图的代码和方法
类方法 说明 + (BOOL)locationServicesEnabled; 是否启用定位服务,通常如果用户没有启用定位服务可以提示用户打开定位服务 + (CLAuthorizationStatus ...
- ios开发中计算代码运算时间_iOS日历、日期、时间的计算
时间和日历的计算在iOS开发中经常看到,经常看到大家在百度,开源中国等搜索这些答案.今天写个简单的时间和日历有关的计算. 获取一个月的总天数 1.获取当月的天数 - (NSInteger)getNum ...
- android齐刘海屏幕适配,GitHub - biganans/cocos2x-adaptation: cocos2dx 横版各种适配 iphoneX适配 齐刘海 凹凸屏...
cocos2x-adaptation cocos2dx 适配 横版 iphoneX适配 iphoneX适配 apple官方参考:https://developer.apple.com/videos/p ...
- ios开发之常用代码
1,获取翻转事件,并开启翻转: 只要在viewcontroller的类中加入 -(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOri ...
最新文章
- linux解压tz zip,TZ 文件扩展名: 它是什么以及如何打开它?
- 单元测试框架之Robolectric踩坑
- 【python】Macbook M1/M1pro/M1max 安装anaconda记录
- Soul网关源码阅读(九)插件配置加载初探
- 太秀了!单片机内置 ADC 实现高分辨率采样?
- 新托业2020一周极限自救攻略
- pycharm引用pyd文件
- Mybatis Plus 3.1.1 lambda 表达式查询时异常 cannot find the corresponding database column name!
- 手机百度浏览器怎么设置繁体字_嫌百度太花哨?来看看如何让百度变得极简
- 深入浅出 - Android系统移植与平台开发(六)- 为Android启动加速【转】
- python随机生成邮箱、自我介绍、地址、时间等
- DM36x Rate Control Modes
- proxmox ve 中文社区_基于ProXmoX VE的虚拟化家庭服务器(篇一)—ProXmoX VE 安装及基础配置...
- 老派程序员:徒手实现伟大成就
- 鸿蒙系统和安卓哪个更流畅,鸿蒙系统比安卓系统更流畅吗?
- Head FIrst OOAD 读书笔记
- IT行业岗位及发展方向
- 【NVivo教程】如何进行主题分析
- Mac迅雷瘦身精简教程
- 怎么制作精美的公众号文章?教你几招