自动布局

AutoLayout是一种基于约束的,描述性的布局系统。

  item1.attribute1 = multiplier * item2.attribute2 + constant

  + (id)constraintWithItem:(id)item1
                 attribute:(NSLayoutAttribute)attribute1
                 relatedBy:(NsLayoutRelation)relation
                    toItem:(id)item2
                 attribute:(NSLayoutAttribute)attribute2
                multiplier:(CGFloat)multiplier
                  constant:(CGFloat)constant;

  Button.centerX = Superview.centerX
  // =>
  [NSLayoutConstraint constraintWithItem:button
                 attribute:NSLayoutAttributeCenterX
                 relatedBy:NsLayoutRelationEqual
                    toItem:superview
                 attribute:NSLayoutAttributeCenterX
                multiplier:1.0
                  constant:0.0];

  Button.bottom = Superview.bottom - <padding>
  // =>
  [NSLayoutConstraint constraintWithItem:button
                 attribute:NSLayoutAttributeBottom
                 relatedBy:NsLayoutRelationEqual
                    toItem:superview
                 attribute:NSLayoutAttributeBottom
                multiplier:1.0
                  constant:-padding];

Visual Format Syntax

1. Standard Space

  [button]-[textField]

2. Width Constraint

  [button(>=50)]

3. Connection to Superview

  |-50-[purpleBox]-50-|

4. Vertical Layout

  V:[topField]-10-[bottomField]

5. Flush Views

  [maroonView][blueView]

6. Priority

  [button(100@20)]

7. Equal Widths

  [button1(==button2)]

8. Multiple Predicates

  [flexibleButton(>=70,<=100)]

9. A Complete Line of Layout

  |-[find]-[findNext]-[findField(>=20)]-|

链接

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Android Matrix

    在Android中,如果你用Matrix进行过图像处理,那么一定知道Matrix这个类。Android中的Matrix是一个3 x 3的矩阵,其内容如下:

    用户3004328
  • iOS坐标系统frame和bounds的区别(位置和大小)

    用户3004328
  • 比较提交

    上面这条命令只显示两个分支间的差异,如果你想找出‘master’,‘test’的共有父分支和’test’分支之间的差异, 你用3个.来取代前面的两个.

    用户3004328
  • 靶场 | 本地搭建漏洞测试平台pikachu

    Pikachu是一个带有漏洞的Web应用系统,在这里包含了常见的web安全漏洞。如果你是一个Web渗透测试学习人员且正发愁没有合适的靶场进行练习,那么Pikac...

    Timeline Sec
  • 云存储是确保数据安全的关键吗?

    云计算提供了方便和相对安全的数据,但采用内部存储和外部硬盘驱动器也有其自己的好处。 云存储如今已成为保持数据安全的最流行的方式。从个人到小型企业的每个人都在使用...

    静一
  • 深度学习算法(第37期)----如何用强化学习玩游戏?

    上期我们一起学习了强化学习中的时间差分学习和近似Q学习的相关知识, 深度学习算法(第36期)----强化学习之时间差分学习与近似Q学习 今天我们一起用毕生所学来...

    智能算法
  • Kubernetes入门培训(内含PPT)

    "本文主要从docker、docker-compose由浅到深介绍了Kubernetes核心功能,关注回复【ppt】获得演示文稿"

    用户5166556
  • 盘点 | 2016数博会上,李克强总理的那些“金句”

    5月25日,由国家发改委、工信部、商务部等政府部门主办的“2016中国大数据产业峰会暨中国电子商务创新发展峰会”(以下简称“数博会”)在贵阳开幕。随着大数据发展...

    CDA数据分析师
  • compass生成基于rem的图片精灵

    具体实现如下 1 我们需要用到compass提供的一些操作图片精灵的api,所以需要引入相应的包

    Joel
  • Jmeter写入文件

    之前我们推文讨论过如何使用jmeter读取文件, 比如csv, txt文件读取, 只要配置csv数据文件, 即可非常容易的从文件中读取想要的数据, 但是如果数...

    louiezhou001

扫码关注云+社区

领取腾讯云代金券