Pinner 0.1.5

Pinner 0.1.5

测试已测试
语言语言 SwiftSwift
许可 MIT
发布最新版本2017年11月
SwiftSwift 版本4
SPM支持 SPM

DenisLitvin 维护。



Pinner 0.1.5

  • DenisLitvin

Pinner

CI Status
Version
License
Platform

用法

如果您想查看完整的示例,请运行示例项目,克隆仓库,然后首先从 Example 目录运行 pod install

Pinner

所有约束都指定为输入参数。调用 UIView 的方法 - makeConstraints(for:),它接受一个或多个 CSMConstraintType 枚举的实例,用逗号分隔。

enum CSMConstraintType {
    case top
    case leading
    case left
    case bottom
    case trailing
    case right

    case height
    case width

    case centerX
    case centerY
}

所有计算都在闭包中完成。您可以使用 pin(to:) 方法(属于 CSMConstraintPinner 的实例)将其视图固定到其父视图的任何一边,或者如果您想稍后再使用约束,可以使用 pinAndReturn(to:)
常数是通过使用 equal(_:)equalAndReturn(_:) 方法创建的。

pin 方法的输入参数(按此顺序使用)

  • _ anchor : NSLayoutAnchor - 锚点。
  • const : CGFloat - 某个轴上的常量偏移量。
  • mult : CGFLoat - 比例因子,仅用于高度和宽度锚点。
  • options : CSMConstraintOptions - 可能的选项:.equal.lessOrEqual.moreOrEqual

默认情况下,您只需要指定锚点,所有约束都会激活,并且底层视图的属性 translatesAutoresizingMaskIntoConstraints 被设置为 false!

equal 方法的输入参数仅为常量(CGFloat)。

您还可以通过使用 CSMConstraintPinner 上的 returnAll() 方法在闭包中返回所有锚点。
您可以使用 deactivate(_ :)(带有约束的索引)或使用 deactivateAll() 来禁用您的约束。

示例

someView.makeConstraints(for: .top, .left, .width, .height) { (make) in
    self.someViewTopAnchor = make.pinAndReturn(to: self.view.topAnchor, const: 30)
    make.pin(to: self.view.leftAnchor, const: 10)
    make.pin(to: self.view.widthAnchor, mult: 0.3)
    make.equal(200)
}

辅助函数

  1. 基于适用于所有设备和 iOS 版本的 Safe Area Layout Guide 安排视图

viewController.fillSafeArea(with: someView)
  1. 如果您想填充整个父视图
someView.fillSuperview()
  1. 锚定到视图的中心
someView.anchorCenterSuperview()

或者

someView.anchorCenterXToSuperview(constant: 10)
someView.anchorCenterYToSuperview(constant: 5)

安装

CocoaPods

将行 pod "Pinner" 添加到您的 Podfile

手动

克隆仓库并将文件 Pinner.swift 拖到您的 Xcode 项目中。

平台支持

  • iOS 9.3 及以上版本

作者

DenisLitvin,[email protected]

许可

Pinner 在 MIT 许可下提供。有关更多信息,请参阅 LICENSE 文件。