IOS开发之--iPhone XR,iPhone XS Max适配
因为iPhone X和iPhone XS的尺寸比是一样的,只需要把这两张图片补上就行。
具体原理性的东西就多说了,因为iPhoneX系列都一样,本文只说明一下具体怎么做,要适配屏幕,首先得让他以正确的姿势启动,如果你使用的是LaunchScreen.storyboard,就不需要考虑这个了,但如果你使用的是LaunchImag,就需要提供正确的启动图。需要注意的是XR使用的@2x的图。
启动图尺寸 机型 命名
640 × 960 iPhone4s lan@2x
640 × 1136 iPhone5s lan-568h@2x
750 × 1334 iPhone lan-667h@2x
1242 × 2208 iPhonePlus lan-736h@3x
1125 × 2436 iPhoneX, XS lan-812h@3x
828 x 1792 iPhoneXR lan-828h@2x
1242 x 2688 iPhoneXS Max lan-1242h@3x
本文提到的这四款手机都有一个共同的特点,就是“齐刘海”+底部触摸条
针对这种样式的屏幕,我们处理方法是一样,几个宏直接搞定(至于怎么判断是不是iPhone X系列,这里也不多说了)
#define kNavBarHeight (iphoneX ? 88.0 : 64.0)
#define kBottomBarHeight (iphoneX ? 34.0 : 0)
#define kContentHeight (kScreenHeight - kNavBarHeight-kBottomBarHeight)
针对继承自UIScrollView的,需要处理一下内边距
第一步:关闭自动调整内边距
if (@available(iOS 11.0, *)) {
[UIScrollView appearance].contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
}
第二步:在使用的地方手动设置内边距(千万别全局设置,容易出事)
self.scrollView.contentInset = UIEdgeInsetsMake(, , kBottomBarHeight, );
这样设置以后,底下的触摸区域就能正常显示内容了,而且当UIScrollView滑到最底部的时候,不会被遮住。
除此之外,有些比较大的控件,产品会要求按照屏幕比例进行调整,小屏幕的显示的小一点,大屏幕的显示大一点,这个也是两个宏搞定
#define kScaleH (kScreenHeight/667.0)
#define kScaleW (kScreenWidth/375.0)
解释一下为什么除的667和375,因为UI给的设计图示按照667 * 375的屏幕给的,如果你们的UI小姐姐给的设计图是按照iPhone5s的尺寸设计的,分母就要换成568和320。
---------------------
原文:https://blog.csdn.net/lg767201403/article/details/82683445?utm_source=copy
IOS开发之--iPhone XR,iPhone XS Max适配的更多相关文章
- iOS开发:Toast for iPhone
iOS开发:Toast for iPhone 分享一个我写的类似于android的toast的提示框 主要特点: 1,支持屏幕Y轴任意位置显示,设置距离顶/底端距离 2,支持多行文本 3,支持设置 ...
- iOS屏幕适配 支持新手机 iPhone XR iPhone XS 超简单
随着苹果爸爸发布了 超牛叉的iPhone iPhone X .iPhone XR.iPhone XS .iPhone XS Max.开发者的适配工作要开始了. 停,
- iOS开发教程之:iPhone开发环境搭建
安装条件: 硬件:一台拥有支持虚拟技术的64位双核处理器和2GB以上内存的PC. 注意:运行MAC OS,需要电脑支持虚拟技术(VT),安装时,需要将VT启动,在BIOS中开启. 软件: Window ...
- 【iOS开发】多屏尺的自动适配 AutoLayout (纯代码方式)
关于AutoLayout,最早从iOS6开始引入使用. 主要功能是使用约束,对视图进行相对布局,以适应不同屏尺的变换. 网上大量的资料都在介绍xib和storyboard,如何使用AutoLa ...
- iOS开发 多屏尺的自动适配(转)
[iOS开发]多屏尺的自动适配 AutoLayout (纯代码方式) (2014-09-19 09:35:47) 转载▼ 标签: autolayout ios开发 xcode ui 分类: Xcode ...
- js判断iPhone XS、iPhone XS Max、iPhone XR
// iPhone X.iPhone XS && window.screen.width === && window.screen.height === ; // iP ...
- css判断iphoneX、iphoneXs、iphoneXs Max、iphone XR
//iphoneX.iphoneXs @media only screen and (device-width: 375px) and (device-height: 812px) and (-web ...
- iOS网络高级编程:iPhone和iPad的企业应用开发之错误处理
本章内容 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcWluZ2h1YXdlbmthbmc=/font/5a6L5L2T/fontsize/400/fi ...
- iOS开发点滴:iPhone屏幕适配
最近开始做iOS开发,遇到一些小问题和解决方法,记录下. 今天是iPhone屏幕适配 iPhone5出来之后屏幕就有iPhone就有了2种尺寸:3.5寸和4寸,xcode 5 的IB设计器里面界面 ...
随机推荐
- 服务器被ddos攻击?分析如何防止DDOS攻击?
上周知名博主阮一峰的博客被DDOS攻击,导致网站无法访问而被迫迁移服务器的事情,引起了广大网友的关注及愤慨,包括小编的个人博客也曾接受过DDOS的“洗礼”,对此感同身受.所以,本文我们一起来了解下DD ...
- python测试开发django-45.xadmin添加小组件报错解决
前言 xadmin首页上有个添加小组件按钮,打开的时候会报错"render() got an unexpected keyword argument 'renderer'" 环境: ...
- Java中有哪些语法糖?
不要你写汇编,Java句句是糖 不能同意上面的这句话,要说为什么,首先要定义下面要讲的“语法糖”. 语法糖指计算机语言中添加的某种语法,这种语法对语言的功能并没有影响,并没有给语言添加什么新东西,但是 ...
- ReactNative: 搭建ReactNative开发环境
搭建ReactNative开发环境 不废话,具体步骤如下: 一.安装需要的软件 1.Homebrew Homebrew, Mac系统的包管理器,用于安装NodeJS和一些其他必需的工具软件. /usr ...
- yum离线安装rpm包
CentOS利用yum下载好rpm包,并离线安装 1.联网安装好rpm包,并将下载好的包备好 #yum install --downloadonly --downloaddir=/home/sam ...
- JSR-303 Bean Validation 介绍及 Spring MVC 服务端验证最佳实践
任何时候,当要处理一个应用程序的业务逻辑,数据校验是你必须要考虑和面对的事情. 应用程序必须通过某种手段来确保输入参数在上下文来说是正确的. 分层的应用在很多时候,同样的数据验证逻辑会出现在不同的层, ...
- 解决Ubuntu Chrome浏览器很卡不响应的问题
1. 设定字体,使用Ubuntu Tweak Tool把系统字体设定为默认字体,而不是文泉驿字体: 2. 使用ADBLock Plus把垃圾的广告过滤掉,不然网页上很多Flash就会导致网页非常的卡顿 ...
- 编写SHELL脚本--判断用户的参数
测试语句格式: [ 条件表达式 ] 常见的几种形式: [ -d /etc ] 判断/etc是不是一个目录类型, [ -e /etc/php.ini ] 判断/etc/php.ini 文件是否存在 [ ...
- Sql Server查询性能优化之不可小觑的书签查找
小小程序猿SQL Server认知的成长 1.没毕业或工作没多久,只知道有数据库.SQL这么个东东,浑然分不清SQL和Sql Server Oracle.MySql的关系,通常认为SQL就是SQL S ...
- Java注解应用,自定义注解映射实现方案说明.
插件结构如图: 注册模块定义了三个:用于实体与表映射的注解,用于属性到表字段的映射,用于映射时过滤掉的注解. 1.用于实体与表映射的注解 package com.dobby.plugins.annot ...