initial
This commit is contained in:
107
Pods/SwiftEntryKit/Source/Extensions/QuickLayout/QLUtils.swift
generated
Normal file
107
Pods/SwiftEntryKit/Source/Extensions/QuickLayout/QLUtils.swift
generated
Normal file
@@ -0,0 +1,107 @@
|
||||
//
|
||||
// QLUtils.swift
|
||||
// QuickLayout
|
||||
//
|
||||
// Created by Daniel Huri on 11/21/17.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
import UIKit
|
||||
|
||||
/**
|
||||
Typealias for dictionary that contains multiple constraints
|
||||
*/
|
||||
public typealias QLMultipleConstraints = [QLAttribute: NSLayoutConstraint]
|
||||
|
||||
/**
|
||||
Extends layout priority to other readable types
|
||||
*/
|
||||
public extension QLPriority {
|
||||
static let must = QLPriority(rawValue: 999)
|
||||
static let zero = QLPriority(rawValue: 0)
|
||||
}
|
||||
|
||||
/**
|
||||
Represents pair of attributes
|
||||
*/
|
||||
public struct QLAttributePair {
|
||||
public let first: QLAttribute
|
||||
public let second: QLAttribute
|
||||
}
|
||||
|
||||
/**
|
||||
Represents size constraints
|
||||
*/
|
||||
public struct QLSizeConstraints {
|
||||
public let width: NSLayoutConstraint
|
||||
public let height: NSLayoutConstraint
|
||||
}
|
||||
|
||||
/**
|
||||
Represents center constraints
|
||||
*/
|
||||
public struct QLCenterConstraints {
|
||||
public let x: NSLayoutConstraint
|
||||
public let y: NSLayoutConstraint
|
||||
}
|
||||
|
||||
/**
|
||||
Represents axis constraints (might be .top and .bottom, .left and .right, .leading and .trailing)
|
||||
*/
|
||||
public struct QLAxisConstraints {
|
||||
public let first: NSLayoutConstraint
|
||||
public let second: NSLayoutConstraint
|
||||
}
|
||||
|
||||
/**
|
||||
Represents center and size constraints
|
||||
*/
|
||||
public struct QLFillConstraints {
|
||||
public let center: QLCenterConstraints
|
||||
public let size: QLSizeConstraints
|
||||
}
|
||||
|
||||
/**
|
||||
Represents pair of priorities
|
||||
*/
|
||||
public struct QLPriorityPair {
|
||||
|
||||
public let horizontal: QLPriority
|
||||
public let vertical: QLPriority
|
||||
public static var required: QLPriorityPair {
|
||||
return QLPriorityPair(.required, .required)
|
||||
}
|
||||
|
||||
public static var must: QLPriorityPair {
|
||||
return QLPriorityPair(.must, .must)
|
||||
}
|
||||
|
||||
public init(_ horizontal: QLPriority, _ vertical: QLPriority) {
|
||||
self.horizontal = horizontal
|
||||
self.vertical = vertical
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
Represents axis description
|
||||
*/
|
||||
public enum QLAxis {
|
||||
case horizontally
|
||||
case vertically
|
||||
|
||||
public var attributes: QLAttributePair {
|
||||
|
||||
let first: QLAttribute
|
||||
let second: QLAttribute
|
||||
|
||||
switch self {
|
||||
case .horizontally:
|
||||
first = .left
|
||||
second = .right
|
||||
case .vertically:
|
||||
first = .top
|
||||
second = .bottom
|
||||
}
|
||||
return QLAttributePair(first: first, second: second)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user