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