Constraint.swift 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. //
  2. // Constraint.swift
  3. // Snappy
  4. //
  5. // Created by Jonas Budelmann on 25/07/14.
  6. // Copyright (c) 2014 Jonas Budelmann. All rights reserved.
  7. //
  8. import UIKit
  9. @class_protocol protocol ConstraintDelegate {
  10. func constraint(constraint: Constraint, shouldBeReplacedWithConstraint replacementConstraint: Constraint)
  11. func constraint(constraint: Constraint?, addConstraintWithLayoutAttribute layoutAttribute: NSLayoutAttribute) -> Constraint
  12. }
  13. typealias Delegate = ConstraintDelegate?
  14. @class_protocol protocol Constraint {
  15. weak var delegate: Delegate { get set }
  16. var left: Constraint { get }
  17. var top: Constraint { get }
  18. var right: Constraint { get }
  19. var bottom: Constraint { get }
  20. var leading: Constraint { get }
  21. var trailing: Constraint { get }
  22. var width: Constraint { get }
  23. var height: Constraint { get }
  24. var centerX: Constraint { get }
  25. var centerY: Constraint { get }
  26. var baseline: Constraint { get }
  27. var and: Constraint { get }
  28. var with: Constraint { get }
  29. func addConstraint(NSLayoutAttribute) -> Constraint
  30. func equalTo(attr: Any) -> Constraint
  31. func greaterThanOrEqualTo(attr: Any) -> Constraint
  32. func lessThanOrEqualTo(attr: Any) -> Constraint
  33. func insets(insets: UIEdgeInsets) -> Constraint
  34. func offset(offset: Any) -> Constraint
  35. func multipliedBy(multiplier: Float) -> Constraint
  36. func dividedBy(divider: Float) -> Constraint
  37. func priority(priority: UILayoutPriority) -> Constraint
  38. func priorityLow() -> Constraint
  39. func priorityMedium() -> Constraint
  40. func priorityHigh() -> Constraint
  41. func install()
  42. }