VBAutolayout 2.0.1

VBAutolayout 2.0.1

测试已测试
Lang语言 Obj-CObjective C
许可证 MIT
发布最后发布2016 年 5 月

Valeriy Bezuglyy 维护。



  • Valeriy Bezuglyy

由于众多原因,有些开发者(像我一样)更喜欢以编程方式创建 UI。我用 storyboards 来处理 segues 和用户场景路径。但我把 UIViewControllers 留空,并且我不使用 xibs。

当你以编程方式创建自适应 UI 时,由于大量的自动布局创建调用,视图(或视图控制器)的代码会变得难以阅读。

VBAutolayout 是一个库,它使自动布局的编程创建变得舒适、可读且代码最简化。

格式

视图布局以拥有特殊 VBAutolayout 格式的字典形式描述。仅针对布局字典中包含的 创建约束。如果没有给出 值,则属性将被忽略。

布局字典格式

    @{VBAutolayoutAttribute: <1>,
      VBAutolayoutAttribute: <2>,
      VBAutolayoutAttribute: <3>
    }

    <1> =  <const>

    <2> =  @{VBAutolayoutItem: <item>,
             VBAutolayoutConstant: <const>}

    <3> =  @[<1>, <2>, ...]

<item> 是约束中的视图2。如果没有指定 <item>,则使用父视图,并将约束解释为对视图容器的约束。

<const> 是一个字符串,其格式与用于 Visual Format Constraints 创建的格式相同

    <const> = <relation><constant>@<priority>, ex. 10, ==10, >=10, <=10, 10@999, >=10@999, etc.
    <relation> =    1) <, <= for <=
                    2) >, >= for >=
                    3) =, == for ==

可以使用变体 <3> 将多个约束组合为单个属性。

示例

  • 从项顶部到 someView 底部的距离大于或等于 10,优先级为 999
    VBAutolayoutAttributeTop: @{VBAutolayoutItem: __someView__,`
                                VBAutolayoutConstant: @">=10@999"}`
  • 从项的 leading 到 someView 的 trailing 的距离等于 0
    VBAutolayoutAttributeLeading: @{VBAutolayoutItem: __someView__}
  • 从项的 leading 到容器的 leading 的距离等于 0
    VBAutolayoutAttributeLeading: @"0"

如何安装

使用 CocoaPods

pod 'VBAutolayout'

将 VBAutolayout 目录拖入您的项目。

您可以将 "VBAutolayout.h" 导入预编译头文件。

许可证

VBAutolayout 遵循 MIT 许可协议。有关更多信息,请参阅 LICENSE 文件。