iOS开发知识小集

关于ios 适配ihone 和 ipad方式

2019-05-14  本文已影响163人  lotawei

举例说明


image.png

方案 3种
看到这种 设计那么需要进行适配

关于如何用size class 去适配所有约束我练习过有好多次 踩着 官方文档还有网上各种教程 姑且认为我是真的很蠢 是真不太明白这个 
到底是个什么鬼  compact  regular  然后直到 
我发现 this  size class  和 all  的区别的时候 我做了一些practice    any  class  的时候 
(其实之前也发现过但是之前总是 约束横竖屏时 出现冲突约束 ,
 横屏配好 配竖屏出问题,竖屏约束做好 横屏出问题 ☹️😕,
所以索性他喵的不用啦,xib上的视图拖上去
 大概摆摆位置 布局都用自动布局纯代码搞)

勾选width 和 height 原由  因为在我看来 这个理解可能不准确 但是我理解的是竖屏 下 我认为 保持width 不动 我只关心高度上的适配    但是我理解的是横屏 下 我认为 保持height 不动 我只关心宽度上的适配   
所以我的个人思路是这样的:
默认是 any  下 因此做约束的时候  直接切换 竖屏模式配 
   做约束时  一定勾选vary for traints  勾选width 和 height 都是在这个选项卡
   1.模式  竖屏 -> 下勾选width 去配竖屏显示 正常  就好了 (这里不管横屏的任何显示)  

   2.切换 横屏   -> 下勾选height 去配  (同样这里不管竖屏的显示)
   检查 
   各个设备  横竖屏切换看 哪里不对改哪里
    原则  也是通过  1. 2 步骤去做更改  更改的时候约束冲突 针对 当前的设备 做的时候  只要在vary for traints  勾选width 或者 width  的时候 是可以放心的清理当前视图的约束的 



然后 选择 ipad适配 思路也是按照这样的方式来做 基本上适配就搞完了

做好过后 很可能还是因为xib(还是iOS系统相关版本的问题 只能猜测下)的原因 出现些适配 诡异问题 基本上是safe area 和 auto 布局引起的比如什么遮挡 这种情况改貌似 只有 通过纯代码 在 uodateconstraits 中 使用snapkit remakeconstraits

上一篇 下一篇

猜你喜欢

热点阅读