美文网首页
AutoLayout自动适配

AutoLayout自动适配

作者: Mustard_Buli | 来源:发表于2016-03-02 15:21 被阅读117次

随着iPhone6/6+设备的上市,如何让手头上的APP适配多种机型多种屏幕尺寸变得尤为迫切和必要。
  在iPhone6出现以前,我们接触的iPhone屏幕只有两种尺寸:320 x 480和320 x 568。所以在那个时候使用传统的绝对定位(Frame)方式进行界面控件的布局还是比较轻松的,因为我们只需要稍微调整一下Frame就可以适配这两种大小的屏幕了。也许这也是为什么虽然AutoLayout从IOS6就已经出现了,但是对于AutoLayout的使用和普及好像都不怎么火热。不过直到最近随着iPhone6/6+设备的出现,AutoLayout又被众多开发者重新审视和重视了。毕竟APPLE推出AutoLayout就是为了帮助开发者的APP更方便简单的适配将来不同苹果设备的不同大小屏幕。
  Xcode为我们提供了Auto Layout系统。但是这里需要先说几个关键字:
基于约束 - 和以往定义frame的位置和尺寸不同,AutoLayout的位置确定是以所谓相对位置的约束来定义的,比如x坐标为superView的中心,y坐标为屏幕底部上方10像素等,每个控件都需要四个约束。
描述性 - 约束的定义和各个view的关系使用接近自然语言或者可视化语言(稍后会提到)的方法来进行描述。
布局系统 - 即字面意思,用来负责界面的各个元素的位置。

storyboard
  1.这个位置选适应什么样子的屏幕

  
  2.两种方法选择约束
  第一种:
      
  第二种:
      

code
  在使用code的时候,用系统自带的方式会特别麻烦。所以我们引用第三方库——Masnory,Masonry的github地址:https://github.com/SnapKit/Masonry
  [objc] view plaincopy

[view1 mas_makeConstraints:^(MASConstraintMaker *make) {

make.edges.equalTo(superview).
with
.insets(padding);

}];

在代码中需要注意的是,空间左面应该用leading,右面应该用trailing,尽量不要使用left和right,因为在转屏的时候很容易造成混乱。

相关文章

  • AutoLayout自动适配

    AutoLayout自动适配非常关键,因为很常用。让我们来看看关于按钮的自动适配:

  • AutoLayout自动适配

    随着iPhone6/6+设备的上市,如何让手头上的APP适配多种机型多种屏幕尺寸变得尤为迫切和必要。在iPhone...

  • 适配

    屏幕适配 设备分辨率 什么是Autolayout Autolayout是一种“自动布局”技术,专门用来布局UI界面...

  • 版本适配

    屏幕适配 代码适配 Masonry UIView+AutoLayout 可视化适配 autoLayout 系统适配...

  • 用SnapKit适配tableviewcell的自适应高度

    iOS的时候经常用masnory进行适配,SnapKit是一个用Swift封装的autolayout自动适配的库,...

  • 全屏幕适配

    说起屏幕适配, 估计很多人都会想到autoLayout, 想到Masonry, 但是今天说的屏幕适配与这自动布局没...

  • iOS Cell 添加约束之后显示不对 报错:Will atte

    之前都是用AutoLayout来画cell,不怎么用来自动适配Cell的高度,所以一直没有遇到这个问题。 但是最近...

  • iOS11 Cell 添加约束之后显示不对 报错:Will at

    之前都是用AutoLayout来画cell,不怎么用来自动适配Cell的高度,所以一直没有遇到这个问题。 但是最近...

  • iOS开发之 自动布局

    iOS开发之自动布局AutoLayout 目录: 1 iOS自动布局简介2 iOS自动布局AutoLayout(代...

  • UI基础4

    自动布局 autoresizing:autolayout:size classes + autolayout:si...

网友评论

      本文标题:AutoLayout自动适配

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