美文网首页
ios之UI布局篇

ios之UI布局篇

作者: 没有梦想_何必远方 | 来源:发表于2018-07-02 18:16 被阅读30次

UI布局分为如下几种
1.frame

  1. Autolayout VFL(Visual Format Language)
    3.SB
    4.Masonry/Snapkit 链式语法
    5.Yoga
  2. SizeClass

Autolayout里有两个词,约束,参照
要想显示一个控件,需要两个东西,位置,尺寸
添加约束不宜过多,当添加的约束足以表达该控件的位置与尺寸,就足够了
约束就是对控件的大小或者位置进行约束,参照就是以某个控件的位置进行约束,其实这两者没有明确的分别,它们都可以对控件的位置与尺寸起到作用。
所有控件,都逃不开位置,尺寸,Autolayout就是拿来干这个用的,所以我后面的例子都以UIView为例

Masonry必须要把控价添加到父视图以后才可以进行布局,不然会crash
内存管理,约束的block里面有时候会引起隐式内存泄露
偶尔会遇见重复约束的问题,查看控制台log,进行调整修改
重点在于,给出的约束一定要能计算出控件的位置和大小,缺一不可
有时候给出的约束可能没有明确指出某个约束的值,但是可以通过给定条件计算出来,也是可以的,比如下面这个例子,做一个水平三等分

记住一个快捷键command + option + ‘=‘(update constraint constant)

SB/xib多人开发的问题

SafeArea
在Xcode 7之前,storyboard在团队开发的时候非常不友好,因为一个storyboard文件有很多个界面,多人开发的话,就需要多个人都打开这个storyboard文件,而在Xcode 7之前你只要点开storyboard文件,虽然你啥都没有做,但是storyboard文件里面出现一个Modify标记,然后你提交代码的时候会conflict,很多团队因为这个问题放弃storyboard,转而使用xib,甚至连xib都不用了,直接手撸.

只从Xcode 7以后,苹果针对这个问题推出了storyboard reference来解决storyboard的多人开发问题

storyboard reference的功能就是拆分storyboard,把storyboard拆分成一个个小模块,这样每个开发人员对应一个模块,各自分离,互不相干

代码加载SB,需要再SB中设置identity usestoryboard id

有很多人说在维护xib/storyboard开发的项目的时候有些困难,找不到view关系,看不到代码等,其实我想说,那是因为你真的没有用心的去学习xib/storyboard,如果作为维护者的你也对xib/storyboard非常熟悉,你会发现维护xib/storyboard开发的项目会比纯代码的相对轻松的,至少你不需要在1000+的代码中去找某个button添加的action;

相关文章

  • UI常用的控件

    #iOS开发之UI篇#iOS开发之UI篇 #常用控件介绍1## #UI第09天:滚动视图# ##UIScrollV...

  • ios之UI布局篇

    UI布局分为如下几种1.frame Autolayout VFL(Visual Format Language)...

  • 最好用的 iOS 快速布局UI库

    最好用的 iOS 快速布局UI库 最好用的 iOS 快速布局UI库

  • IOS学习(9)-UITabBarController

    iOS开发UI篇—UITabBarController简单介绍视图之UITabBarController结构详解(...

  • iOS篇-UI篇-CoreAnimation(核心动画)

    iOS篇-UI篇-CoreAnimation(核心动画) iOS篇-UI篇-CoreAnimation(核心动画)

  • KVC

    iOS 如何使用KVC iOS开发UI篇—Kvc简单介绍 iOS开发系列--Objective-C之KVC、KVO

  • iOS部分控件介绍及设计规范

    iOS及Android图标按钮设计规范 UI设计师需要了解的开发中常用的UI控件(ios篇) iOS交互设计基础之...

  • iOS页面的布局方式

    iOS有三种基本的界面布局的方法,分别是手写UI,xib和storyboard。手写UI是最早进行UI界面布局的方...

  • iOS的绝对布局(二)

    概括iOS绝对布局也就是我们开发最初使用的UI布局了。优点: 使用方式很简单,可以搭建任何布局,UI控件都是绝对的...

  • 003UIKit-01-大话 iOS Layout

    大话 iOS Layout 在iOS的开发中,我们绝大部分的时间都是在跟UI打交道,例如UI怎么布局,UI怎么刷新...

网友评论

      本文标题:ios之UI布局篇

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