如何让app快速适配苹果iOS 12的系统?

如何让app快速适配苹果iOS 12的系统?,第1张

iOS
12此次更新不仅新增了表情、相机特效、增强现实、消息推送等多款功能,对于绝大多数iPhone,还将大幅提升系统流畅度;系统的更新对于app升级适配来说至关重要,无论是iOS还是安卓系统的每一次升级都是对开发者的一次考验,但如果是APICloud开发者并且之前应用已经适配了iPhone
X,那么现在的工作就简单了,只需重新编译一下你的应用即可,APICloud就可以完成所有的屏幕适配工作。

简介:
iOS13苹果推出的暗黑模式,在去年苹果已经声明必须适配暗黑模式否则会下架。
网上有很多好的文章来适配暗黑模式,但是大部分仅仅是以苹果系统、方法来适配的暗黑模式,最大的一个问题是不好做内置的暗黑模式的适配。

所以设计了一个方案,支持APP内置的模式切换。这个方案不说是暗黑模式的适配,更多能应用的是主题切换效果。

思路:
以通知为中心,在切换主题后,发送通知给各个页面,技术通知,设定各个控件颜色。
颜色以白、黑2套,存储在项目中的json文件,设定颜色直接读取json中的16进制,自动根据主题适配。

雏形demo,只提供思路,可以根据项目情况优化。

下面是应用

GitHub: >第一步,我们需要创建内容控制器,如下图所示:ios 怎么适配 iPad
第二,我们需要判断设备类型,判断的方法如下图所示ios 怎么适配 iPad第
三,我们需要创建一个UipopoveController,如下图所示ios 怎么适配 iPad其中我们要先找到popover属性,调用d出方式;inview是指要指向∫的视图;ios 怎么适配 iPad第四,我们需要完成展示控制器,写法如下图所示:ios 怎么适配 iPad此时我们点击运行,可以看到能够正常运行,也就是说如果是ios就用模态视图判断,如果是不是下图所示代码进行判断ios 怎么适配 iPadios 怎么适配 iPad其实从ios8开始,就开始整合一些API了,主要是为了能正常运行 ,整合之后就会多一个东西,会设置一个模态视图的呈现样式,代码如下图所示:ios 怎么适配 iPad下图箭头代码需要一起写上去,然后就可以了。以上就是适配的方法和过程,希望能帮到大家!

首先,先创建一个简单地工程。如图
这里我们选择“Single View Application”工程。
名字就叫“ZYScreenTest”。
位置选择桌面就可以了。
我们在Mainstoryboard中把“Use Auto Layout”和“Use Size Classes”选项勾掉,默认的是勾选上的。
在把我们的ViewController尺寸调节成5s的尺寸或者4的尺寸都行,看个人习惯是在5s上做布局还是4上做布局。笔者这里就以5的屏幕给大家介绍。
选中当前ViewController,中间的选项,进行XIB尺寸调整,这里可以根据习惯选择是35寸还是4寸等。
之后我们拖拽一个imageView,放在(110,50)的位置,尺寸设置为(100,100)。如图。
再拖拽一个imageView,尺寸一样,位置放置在(110,240)的位置作对比。如图。
目的是随着屏幕变化,对应控件坐标宽高发生相应可控的变化,以达到屏幕适配的目的。
修改两个ImageView背景颜色作为区分,修改两个ImageView的Autoresizing相同,都已第二个拖拽的imageView为准,选择居上,居右位置不变的约束。
之后,我们给下面的imageView再AutoSizing添加如图约束。去掉上下左右约束,保留内部宽高约束。。
好,用5模拟器运行。运行效果如图。会发现没有什么变化,因为我们毕竟是用5的屏幕布局的,所以在5上运行效果和我们布局的界面差不多的。
接下来再用iPhone6plus 模拟器运行,
我们会发现上面的ImageView的autoSizing只添加向上向下约束坐标和宽高都没变,下边的ImageView坐标和宽高都相应的变化了,基本和我们刚才在iPhone5模拟器上运行的基本比例一样。但是两个控件之间的布局已经和在StoryBoard上的布局不一样了。
给第一个ImageView添加同样约束,再在6plus模拟器上运行,如图,会发现其布局和在StoryBoard上布局一致。
也就是说在AutoSizing只添加宽高约束的控件,会按照屏幕比例放大。iPhone6以上使用的是三倍图,好我们准备三张不同的,分别是原图,二倍图,三倍图。这里笔者就随便找三张图了,分别命名为“testpng”(100p100px),"test@2xpng"(200200px),“test@3xpng”(300300px),用来判断分辨率,iPhone6plus和iPhone6默认使用的是@3x,iPhone5和5s以及4s使用的是@2x。这里是用来验证我们的适配。
在“Imagesxcassets”里面创建一个“New Image Set”,重命名为“test”,把刚才的三张拖进去。
然后对我们刚才拖拽的imageView设置。设置,直接在“image”属性里面写我们刚才对ImageSet命的名字“test”。再用iPhone5模拟器运行,运行效果如图。看到5模拟器上运行加载的都是@2x,也就是二倍图。两个imageView都加载了,说明,在AutoSizing中只勾选宽高约束,不影响iPhone5界面布局。用iPhone6 plus模拟器运行。,说明约束也是不影响加载三倍图的。

LaunchImage是app的启动页(快闪页),不同的手机加载同一张会出现拉伸等现象,因此要做相应适配

声明:只做了iphone手机的适配

战前准备,以下各一张

1242 px x 2688 px、828  x  1792、1125 × 2436、1242 x 2208、750 x 1334、640 x 960、640 x 1136
开始表演

1选中LaunchScreenstoryboard, 勾选掉use as launch screen

2选中工程,清除掉Launch Screen File中的路径,选中Launch Image Sourc
3添加已经准备好的到assetsxcassets中的LaunchImage(如果没有,右击空白处,选中App Icons&Launch Images,选择New iOS Launch Image)

至此设配就完成了

补充:在app中想直接读取LaunchImage,是没法直接使用用户自己设置的名称来读取的,苹果做了相应的和转化,在查看包内容的时候可以查看到。

判断不同的机型, 宏定义

NSStringLaunchImage =@"";
   if (IS_iPhoneXS_MAX){

        LaunchImage =@"LaunchImage-1200-Portrait-2688h@3x";

    } else if (IS_iPhoneXR) {

        LaunchImage =@"LaunchImage-1200-Portrait-1792h@2x";

    } else if (IS_iPhoneX) {

        LaunchImage =@"LaunchImage-1100-Portrait-2436h@3x";

    } else if (IS_iPhone6_Plus) {

        LaunchImage =@"LaunchImage-800-Portrait-736h@3x";

    } else if (IS_iPhone_6) {

        LaunchImage =@"LaunchImage-800-667h@2x";

    } else if (IS_iPhone_5) {

        LaunchImage =@"LaunchImage-700-568h@2x";

    } else if (IS_iPhone_4S) {

        LaunchImage =@"LaunchImage-700@2x";

    }

     return  LaunchImage;


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

原文地址: http://outofmemory.cn/yw/12698791.html

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

发表评论

登录后才能评论

评论列表(0条)

保存