SnapKit_Reference
2017-03-18 08:25:25 0 举报
SnapKit是一个轻量级的iOS自动布局框架,它基于苹果的Auto Layout和Visual Format Language构建,提供了一种简单、直观的方式来设置和管理视图的约束。使用SnapKit,开发者可以更轻松地实现复杂的界面布局,而无需编写繁琐的代码。通过链式调用的方法,开发者可以快速地为视图添加约束,并在整个应用中复用这些约束。此外,SnapKit还支持动态更新约束,使得在运行时可以轻松地调整布局。总之,SnapKit是一个强大且易用的自动布局工具,对于任何使用Swift进行iOS开发的开发者来说都值得一试。
作者其他创作
大纲/内容
internal struct ConstraintAttributes : OptionSet
internal var layoutAttributes:[NSLayoutAttribute] { var attrs = [NSLayoutAttribute]() if (self.contains(ConstraintAttributes.left)) { attrs.append(.left) } ............. #if os(iOS) || os(tvOS) if (self.contains(ConstraintAttributes.firstBaseline)) { attrs.append(.firstBaseline) } ........................... #endif return attrs }
public final class Constraint
public protocol LayoutConstraintItem: class
public class ConstraintMakerFinalizable
internal let description: ConstraintDescription
@discardableResult public func labeled(_ label: String) - ConstraintMakerFinalizable { self.description.label = label return self } public var constraint: Constraint { return self.description.constraint! }
public class ConstraintMakerEditable: ConstraintMakerPriortizable
public func multipliedBy(_ amount: ConstraintMultiplierTarget) - ConstraintMakerEditablepublic func dividedBy(_ amount: ConstraintMultiplierTarget) - ConstraintMakerEditablepublic func offset(_ amount: ConstraintOffsetTarget) - ConstraintMakerEditablepublic func inset(_ amount: ConstraintInsetTarget) - ConstraintMakerEditable
public class ConstraintMaker
public var left: ConstraintMakerExtendable...........public var margins: ConstraintMakerExtendableprivate let item: LayoutConstraintItemprivate var descriptions = [ConstraintDescription]()
extension LayoutConstraintItem
internal func prepare() { if let view = self as? ConstraintView { view.translatesAutoresizingMaskIntoConstraints = false } }internal func add(constraints: [Constraint])internal func remove(constraints: [Constraint])
protocol ConstraintBasicAttributesDSL
ConstraintBasicAttributesDSL
public var left: ConstraintItempublic var top: ConstraintItem。。。。public var edges: ConstraintItem
ConstraintDSL
var target: AnyObject? { get } func setLabel(_ value: String?) func label() - String?
public class ConstraintMakerPriortizable: ConstraintMakerFinalizable
extension ConstraintView : LayoutConstraintItem
public class ConstraintDescription
public struct ConstraintViewDSL
internal let view: ConstraintView
public var target: AnyObject? { return self.view }public func makeConstraints(_ closure: (_ make: ConstraintMaker) - Void)
ConstraintAttributesDSL
public var lastBaseline: ConstraintItempublic var firstBaseline: ConstraintItempublic var margins: ConstraintItem.......
public final class ConstraintItem
internal weak var target: AnyObject?internal let attributes: ConstraintAttributes
internal var layoutConstraintItem: LayoutConstraintItem? { return self.target as? LayoutConstraintItem }
public class ConstraintMakerRelatable
public class ConstraintMakerExtendable: ConstraintMakerRelatable
public var left: ConstraintMakerExtendable { self.description.attributes += .left return self }.................
protocol ConstraintAttributesDSL
0 条评论
下一页