Commit 4ad815ea by Daniel Dahan

updated MaterialSpacing to InterimSpace

parent 056e1524
......@@ -90,7 +90,7 @@ class ViewController: UIViewController {
btn3.grid.rows = 2
view.grid.axis.rows = 6
view.grid.spacing = 16
view.grid.interimSpace = 16
view.grid.axis.direction = .Vertical
view.grid.contentInset.left = 16
view.grid.contentInset.right = 16
......@@ -139,7 +139,7 @@ class ViewController: UIViewController {
btn3.grid.rows = 3
view.grid.rows = 9
view.grid.spacing = 16
view.grid.interimSpace = 16
view.grid.contentInset.left = 16
view.grid.contentInset.right = 16
view.grid.contentInset.top = 100
......@@ -173,7 +173,7 @@ class ViewController: UIViewController {
labelB.grid.offset.rows = 6
labelB.grid.offset.columns = 6
view.grid.spacing = 16
view.grid.interimSpace = 16
view.grid.axis.direction = .None
view.grid.contentInsetPreset = .Square6
view.grid.views = [labelA, labelB]
......@@ -264,7 +264,7 @@ class ViewController: UIViewController {
alarmButton.grid.columns = 2
alarmButton.grid.offset.columns = 10
contentView.grid.spacing = 8
contentView.grid.interimSpace = 8
contentView.grid.axis.direction = .None
contentView.grid.contentInsetPreset = .Square3
contentView.grid.views = [
......@@ -361,7 +361,7 @@ class ViewController: UIViewController {
alarmButton.grid.columns = 3
alarmButton.grid.offset.columns = 9
contentView.grid.spacing = 8
contentView.grid.interimSpace = 8
contentView.grid.axis.direction = .None
contentView.grid.contentInsetPreset = .Square3
contentView.grid.views = [
......@@ -458,7 +458,7 @@ class ViewController: UIViewController {
contentView.grid.offset.rows = 7
cardView.grid.axis.direction = .None
cardView.grid.spacing = 4
cardView.grid.interimSpace = 4
cardView.grid.views = [
leftImageView,
topImageView,
......@@ -485,7 +485,7 @@ class ViewController: UIViewController {
alarmButton.grid.columns = 2
alarmButton.grid.offset.columns = 10
contentView.grid.spacing = 8
contentView.grid.interimSpace = 8
contentView.grid.axis.direction = .None
contentView.grid.contentInsetPreset = .Square3
contentView.grid.views = [
......
......@@ -75,7 +75,7 @@ class ViewController: UIViewController {
let children: Array<UIView> = [label1, label2, label3, label4]
// Align the labels horizontally with an equal width and vertically with an equal height.
view.layout.horizontally(children, left: 30, right: 30, spacing: 30).vertically(children, top: 100, bottom: 100)
view.layout.horizontally(children, left: 30, right: 30, interimSpace: 30).vertically(children, top: 100, bottom: 100)
// Print out the dimensions of the labels.
......
......@@ -83,7 +83,7 @@ class ViewController: UIViewController {
collectionView.registerClass(MaterialCollectionViewCell.self, forCellWithReuseIdentifier: "MaterialCollectionViewCell")
collectionView.dataSource = self
collectionView.contentInset.top = 100
collectionView.spacing = 16
collectionView.interimSpace = 16
view.layout(collectionView).edges()
}
......
......@@ -63,7 +63,7 @@ class ViewController: UIViewController {
let children: Array<UIView> = [v1, v2, v3, v4, v5]
// Align the vs vertically with an equal height.
view.layout.vertically(children, top: 100, bottom: 100, spacing: 20)
view.layout.vertically(children, top: 100, bottom: 100, interimSpace: 20)
/*
Individually set the vs' horizontal alignment.
......
......@@ -46,8 +46,8 @@ class ViewController: UIViewController {
/// FlashMenu component.
private var flashMenu: Menu!
/// Default spacing size
let spacing: CGFloat = 16
/// Default interimSpace size
let interimSpace: CGFloat = 16
/// Diameter for FabButtons.
let diameter: CGFloat = 56
......@@ -70,8 +70,8 @@ class ViewController: UIViewController {
super.viewWillTransitionToSize(size, withTransitionCoordinator: coordinator)
// Handle orientation change.
fabMenu.origin = CGPointMake(view.bounds.height - diameter - spacing, view.bounds.width - diameter - spacing)
flatMenu.origin = CGPointMake(spacing, view.bounds.height - height - spacing)
fabMenu.origin = CGPointMake(view.bounds.height - diameter - interimSpace, view.bounds.width - diameter - interimSpace)
flatMenu.origin = CGPointMake(interimSpace, view.bounds.height - height - interimSpace)
}
/// Handle the fabMenu touch event.
......@@ -155,7 +155,7 @@ class ViewController: UIViewController {
view.addSubview(btn4)
// Initialize the menu and setup the configuration options.
fabMenu = Menu(origin: CGPointMake(view.bounds.width - diameter - spacing, view.bounds.height - diameter - spacing))
fabMenu = Menu(origin: CGPointMake(view.bounds.width - diameter - interimSpace, view.bounds.height - diameter - interimSpace))
fabMenu.direction = .Up
fabMenu.baseSize = CGSizeMake(diameter, diameter)
fabMenu.views = [btn1, btn2, btn3, btn4]
......@@ -196,9 +196,9 @@ class ViewController: UIViewController {
view.addSubview(btn4)
// Initialize the menu and setup the configuration options.
flatMenu = Menu(origin: CGPointMake(spacing, view.bounds.height - height - spacing))
flatMenu = Menu(origin: CGPointMake(interimSpace, view.bounds.height - height - interimSpace))
flatMenu.direction = .Up
flatMenu.spacing = 8
flatMenu.interimSpace = 8
flatMenu.itemSize = CGSizeMake(120, height)
flatMenu.views = [btn1, btn2, btn3, btn4]
}
......
......@@ -40,8 +40,8 @@ class ViewController: UIViewController {
/// MenuView reference.
private lazy var menuView: MenuView = MenuView()
/// Default spacing size
let spacing: CGFloat = 16
/// Default interimSpace size
let interimSpace: CGFloat = 16
/// Diameter for FabButtons.
let diameter: CGFloat = 56
......
......@@ -64,7 +64,7 @@
96BCB7CD1CB40DC500C806FE /* MaterialPulseView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96BCB7841CB40DC500C806FE /* MaterialPulseView.swift */; };
96BCB7CE1CB40DC500C806FE /* MaterialRadius.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96BCB7851CB40DC500C806FE /* MaterialRadius.swift */; };
96BCB7CF1CB40DC500C806FE /* MaterialShape.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96BCB7861CB40DC500C806FE /* MaterialShape.swift */; };
96BCB7D01CB40DC500C806FE /* MaterialSpacing.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96BCB7871CB40DC500C806FE /* MaterialSpacing.swift */; };
96BCB7D01CB40DC500C806FE /* InterimSpace.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96BCB7871CB40DC500C806FE /* InterimSpace.swift */; };
96BCB7D11CB40DC500C806FE /* MaterialSwitch.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96BCB7881CB40DC500C806FE /* MaterialSwitch.swift */; };
96BCB7D21CB40DC500C806FE /* MaterialTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96BCB7891CB40DC500C806FE /* MaterialTableViewCell.swift */; };
96BCB7D31CB40DC500C806FE /* MaterialTextLayer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96BCB78A1CB40DC500C806FE /* MaterialTextLayer.swift */; };
......@@ -163,7 +163,7 @@
96BCB84B1CB4115200C806FE /* TextStorage.swift in Headers */ = {isa = PBXBuildFile; fileRef = 96BCB79D1CB40DC500C806FE /* TextStorage.swift */; settings = {ATTRIBUTES = (Public, ); }; };
96BCB84C1CB4115200C806FE /* TextView.swift in Headers */ = {isa = PBXBuildFile; fileRef = 96BCB79E1CB40DC500C806FE /* TextView.swift */; settings = {ATTRIBUTES = (Public, ); }; };
96BCB84D1CB4115200C806FE /* MaterialBorder.swift in Headers */ = {isa = PBXBuildFile; fileRef = 96BCB76F1CB40DC500C806FE /* MaterialBorder.swift */; settings = {ATTRIBUTES = (Public, ); }; };
96BCB84E1CB4115200C806FE /* MaterialSpacing.swift in Headers */ = {isa = PBXBuildFile; fileRef = 96BCB7871CB40DC500C806FE /* MaterialSpacing.swift */; settings = {ATTRIBUTES = (Public, ); }; };
96BCB84E1CB4115200C806FE /* InterimSpace.swift in Headers */ = {isa = PBXBuildFile; fileRef = 96BCB7871CB40DC500C806FE /* InterimSpace.swift */; settings = {ATTRIBUTES = (Public, ); }; };
96BCB84F1CB4115200C806FE /* MaterialDepth.swift in Headers */ = {isa = PBXBuildFile; fileRef = 96BCB7781CB40DC500C806FE /* MaterialDepth.swift */; settings = {ATTRIBUTES = (Public, ); }; };
96BCB8501CB4115200C806FE /* MaterialEdgeInset.swift in Headers */ = {isa = PBXBuildFile; fileRef = 96BCB77A1CB40DC500C806FE /* MaterialEdgeInset.swift */; settings = {ATTRIBUTES = (Public, ); }; };
96BCB8511CB4115200C806FE /* MaterialGravity.swift in Headers */ = {isa = PBXBuildFile; fileRef = 96BCB77C1CB40DC500C806FE /* MaterialGravity.swift */; settings = {ATTRIBUTES = (Public, ); }; };
......@@ -255,7 +255,7 @@
96BCB7841CB40DC500C806FE /* MaterialPulseView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MaterialPulseView.swift; sourceTree = "<group>"; };
96BCB7851CB40DC500C806FE /* MaterialRadius.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MaterialRadius.swift; sourceTree = "<group>"; };
96BCB7861CB40DC500C806FE /* MaterialShape.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MaterialShape.swift; sourceTree = "<group>"; };
96BCB7871CB40DC500C806FE /* MaterialSpacing.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MaterialSpacing.swift; sourceTree = "<group>"; };
96BCB7871CB40DC500C806FE /* InterimSpace.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = InterimSpace.swift; sourceTree = "<group>"; };
96BCB7881CB40DC500C806FE /* MaterialSwitch.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MaterialSwitch.swift; sourceTree = "<group>"; };
96BCB7891CB40DC500C806FE /* MaterialTableViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MaterialTableViewCell.swift; sourceTree = "<group>"; };
96BCB78A1CB40DC500C806FE /* MaterialTextLayer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MaterialTextLayer.swift; sourceTree = "<group>"; };
......@@ -514,7 +514,7 @@
isa = PBXGroup;
children = (
96BCB76F1CB40DC500C806FE /* MaterialBorder.swift */,
96BCB7871CB40DC500C806FE /* MaterialSpacing.swift */,
96BCB7871CB40DC500C806FE /* InterimSpace.swift */,
96BCB7781CB40DC500C806FE /* MaterialDepth.swift */,
96BCB77A1CB40DC500C806FE /* MaterialEdgeInset.swift */,
96BCB77C1CB40DC500C806FE /* MaterialGravity.swift */,
......@@ -704,7 +704,7 @@
96BCB84B1CB4115200C806FE /* TextStorage.swift in Headers */,
96BCB84C1CB4115200C806FE /* TextView.swift in Headers */,
96BCB84D1CB4115200C806FE /* MaterialBorder.swift in Headers */,
96BCB84E1CB4115200C806FE /* MaterialSpacing.swift in Headers */,
96BCB84E1CB4115200C806FE /* InterimSpace.swift in Headers */,
96BCB84F1CB4115200C806FE /* MaterialDepth.swift in Headers */,
96BCB8501CB4115200C806FE /* MaterialEdgeInset.swift in Headers */,
96BCB8511CB4115200C806FE /* MaterialGravity.swift in Headers */,
......@@ -922,7 +922,7 @@
96BCB7BD1CB40DC500C806FE /* MaterialCollectionViewDelegate.swift in Sources */,
961F18E81CD93E3E008927C5 /* ErrorTextField.swift in Sources */,
96BCB7AF1CB40DC500C806FE /* Material+UIImage+Blank.swift in Sources */,
96BCB7D01CB40DC500C806FE /* MaterialSpacing.swift in Sources */,
96BCB7D01CB40DC500C806FE /* InterimSpace.swift in Sources */,
96BCB7B31CB40DC500C806FE /* Material+UIImage+Resize.swift in Sources */,
96BCB7E81CB40DC500C806FE /* Toolbar.swift in Sources */,
96BCB7C41CB40DC500C806FE /* MaterialFont.swift in Sources */,
......
......@@ -56,20 +56,20 @@ public class ControlView : MaterialView {
}
}
/// A preset wrapper around spacing.
public var spacingPreset: MaterialSpacing = .None {
/// A preset wrapper around interimSpace.
public var interimSpacePreset: InterimSpace = .none {
didSet {
spacing = MaterialSpacingToValue(spacingPreset)
interimSpace = interimSpaceToValue(interimSpacePreset)
}
}
/// A wrapper around grid.spacing.
@IBInspectable public var spacing: CGFloat {
/// A wrapper around grid.interimSpace.
@IBInspectable public var interimSpace: CGFloat {
get {
return grid.spacing
return grid.interimSpace
}
set(value) {
grid.spacing = value
grid.interimSpace = value
}
}
......@@ -206,7 +206,7 @@ public class ControlView : MaterialView {
}
grid.contentInset = contentInset
grid.spacing = spacing
grid.interimSpace = interimSpace
grid.reloadLayout()
contentView.grid.reloadLayout()
}
......@@ -226,7 +226,7 @@ public class ControlView : MaterialView {
*/
public override func prepareView() {
super.prepareView()
spacingPreset = .Spacing1
interimSpacePreset = .interimSpace1
contentInsetPreset = .Square1
autoresizingMask = .FlexibleWidth
shadowPathAutoSizeEnabled = false
......
......@@ -153,15 +153,15 @@ public class Grid {
}
}
/// A preset wrapper around spacing.
public var spacingPreset: MaterialSpacing = .None {
/// A preset wrapper around interimSpace.
public var interimSpacePreset: InterimSpace = .none {
didSet {
spacing = MaterialSpacingToValue(spacingPreset)
interimSpace = interimSpaceToValue(interimSpacePreset)
}
}
/// The space between grid columnss.
public var spacing: CGFloat {
public var interimSpace: CGFloat {
didSet {
reloadLayout()
}
......@@ -178,12 +178,12 @@ public class Grid {
Initializer.
- Parameter rows: The number of rows, Vertical axis the grid will use.
- Parameter columns: The number of columns, Horizontal axis the grid will use.
- Parameter spacing: The spacing between rows or columns.
- Parameter interimSpace: The interimSpace between rows or columns.
*/
public init(rows: Int = 12, columns: Int = 12, spacing: CGFloat = 0) {
public init(rows: Int = 12, columns: Int = 12, interimSpace: CGFloat = 0) {
self.rows = rows
self.columns = columns
self.spacing = spacing
self.interimSpace = interimSpace
offset = GridOffset(grid: self)
axis = GridAxis(grid: self)
}
......@@ -200,34 +200,34 @@ public class Grid {
sv.layoutIfNeeded()
switch axis.direction {
case .Horizontal:
let w: CGFloat = (sv.bounds.width - contentInset.left - contentInset.right - layoutInset.left - layoutInset.right + spacing) / CGFloat(gc)
let w: CGFloat = (sv.bounds.width - contentInset.left - contentInset.right - layoutInset.left - layoutInset.right + interimSpace) / CGFloat(gc)
let c: Int = view.grid.columns
let co: Int = view.grid.offset.columns
let vh: CGFloat = sv.bounds.height - contentInset.top - contentInset.bottom - layoutInset.top - layoutInset.bottom
let vl: CGFloat = CGFloat(i + n + co) * w + contentInset.left + layoutInset.left
let vw: CGFloat = w * CGFloat(c) - spacing
let vw: CGFloat = w * CGFloat(c) - interimSpace
view.frame = CGRectMake(vl, contentInset.top + layoutInset.top, vw, vh)
n += c + co - 1
case .Vertical:
let h: CGFloat = (sv.bounds.height - contentInset.top - contentInset.bottom - layoutInset.top - layoutInset.bottom + spacing) / CGFloat(gr)
let h: CGFloat = (sv.bounds.height - contentInset.top - contentInset.bottom - layoutInset.top - layoutInset.bottom + interimSpace) / CGFloat(gr)
let r: Int = view.grid.rows
let ro: Int = view.grid.offset.rows
let vw: CGFloat = sv.bounds.width - contentInset.left - contentInset.right - layoutInset.left - layoutInset.right
let vt: CGFloat = CGFloat(i + n + ro) * h + contentInset.top + layoutInset.top
let vh: CGFloat = h * CGFloat(r) - spacing
let vh: CGFloat = h * CGFloat(r) - interimSpace
view.frame = CGRectMake(contentInset.left + layoutInset.left, vt, vw, vh)
n += r + ro - 1
case .None:
let w: CGFloat = (sv.bounds.width - contentInset.left - contentInset.right - layoutInset.left - layoutInset.right + spacing) / CGFloat(gc)
let w: CGFloat = (sv.bounds.width - contentInset.left - contentInset.right - layoutInset.left - layoutInset.right + interimSpace) / CGFloat(gc)
let c: Int = view.grid.columns
let co: Int = view.grid.offset.columns
let h: CGFloat = (sv.bounds.height - contentInset.top - contentInset.bottom - layoutInset.top - layoutInset.bottom + spacing) / CGFloat(gr)
let h: CGFloat = (sv.bounds.height - contentInset.top - contentInset.bottom - layoutInset.top - layoutInset.bottom + interimSpace) / CGFloat(gr)
let r: Int = view.grid.rows
let ro: Int = view.grid.offset.rows
let vt: CGFloat = CGFloat(ro) * h + contentInset.top + layoutInset.top
let vl: CGFloat = CGFloat(co) * w + contentInset.left + layoutInset.left
let vh: CGFloat = h * CGFloat(r) - spacing
let vw: CGFloat = w * CGFloat(c) - spacing
let vh: CGFloat = h * CGFloat(r) - interimSpace
let vw: CGFloat = w * CGFloat(c) - interimSpace
view.frame = CGRectMake(vl, vt, vw, vh)
}
}
......
......@@ -30,41 +30,41 @@
import UIKit
public enum MaterialSpacing {
case None
case Spacing1
case Spacing2
case Spacing3
case Spacing4
case Spacing5
case Spacing6
case Spacing7
case Spacing8
case Spacing9
public enum InterimSpace {
case none
case interimSpace1
case interimSpace2
case interimSpace3
case interimSpace4
case interimSpace5
case interimSpace6
case interimSpace7
case interimSpace8
case interimSpace9
}
/// Converts the MaterialSpacing enum to a CGFloat value.
public func MaterialSpacingToValue(radius: MaterialSpacing) -> CGFloat {
switch radius {
case .None:
return 0
case .Spacing1:
return 4
case .Spacing2:
return 8
case .Spacing3:
return 16
case .Spacing4:
return 24
case .Spacing5:
return 32
case .Spacing6:
return 40
case .Spacing7:
return 48
case .Spacing8:
return 56
case .Spacing9:
return 64
}
/// Converts the InterimSpace enum to a CGFloat value.
public func interimSpaceToValue(interimSpace: InterimSpace) -> CGFloat {
switch interimSpace {
case .none:
return 0
case .interimSpace1:
return 4
case .interimSpace2:
return 8
case .interimSpace3:
return 16
case .interimSpace4:
return 24
case .interimSpace5:
return 32
case .interimSpace6:
return 40
case .interimSpace7:
return 48
case .interimSpace8:
return 56
case .interimSpace9:
return 64
}
}
......@@ -162,35 +162,35 @@ public class Layout {
/**
A collection of children views are horizontally stretched with optional left,
right padding and interim spacing.
right padding and interim interimSpace.
- Parameter children: An Array UIView to layout.
- Parameter left: A CGFloat value for padding the left side.
- Parameter right: A CGFloat value for padding the right side.
- Parameter spacing: A CGFloat value for interim spacing.
- Parameter interimSpace: A CGFloat value for interim interimSpace.
- Returns: The current Layout instance.
*/
public func horizontally(children: Array<UIView>, left: CGFloat = 0, right: CGFloat = 0, spacing: CGFloat = 0) -> Layout {
public func horizontally(children: Array<UIView>, left: CGFloat = 0, right: CGFloat = 0, interimSpace: CGFloat = 0) -> Layout {
guard let v: UIView = parent else {
return debugParentNotAvailableMessage()
}
Layout.horizontally(v, children: children, left: left, right: right, spacing: spacing)
Layout.horizontally(v, children: children, left: left, right: right, interimSpace: interimSpace)
return self
}
/**
A collection of children views are vertically stretched with optional top,
bottom padding and interim spacing.
bottom padding and interim interimSpace.
- Parameter children: An Array UIView to layout.
- Parameter top: A CGFloat value for padding the top side.
- Parameter bottom: A CGFloat value for padding the bottom side.
- Parameter spacing: A CGFloat value for interim spacing.
- Parameter interimSpace: A CGFloat value for interim interimSpace.
- Returns: The current Layout instance.
*/
public func vertically(children: Array<UIView>, top: CGFloat = 0, bottom: CGFloat = 0, spacing: CGFloat = 0) -> Layout {
public func vertically(children: Array<UIView>, top: CGFloat = 0, bottom: CGFloat = 0, interimSpace: CGFloat = 0) -> Layout {
guard let v: UIView = parent else {
return debugParentNotAvailableMessage()
}
Layout.vertically(v, children: children, top: top, bottom: bottom, spacing: spacing)
Layout.vertically(v, children: children, top: top, bottom: bottom, interimSpace: interimSpace)
return self
}
......@@ -633,19 +633,19 @@ public extension Layout {
/**
A collection of children views are horizontally stretched with optional left,
right padding and interim spacing.
right padding and interim interimSpace.
- Parameter parent: A parent UIView context.
- Parameter children: An Array UIView to layout.
- Parameter left: A CGFloat value for padding the left side.
- Parameter right: A CGFloat value for padding the right side.
- Parameter spacing: A CGFloat value for interim spacing.
- Parameter interimSpace: A CGFloat value for interim interimSpace.
*/
public class func horizontally(parent: UIView, children: Array<UIView>, left: CGFloat = 0, right: CGFloat = 0, spacing: CGFloat = 0) {
public class func horizontally(parent: UIView, children: Array<UIView>, left: CGFloat = 0, right: CGFloat = 0, interimSpace: CGFloat = 0) {
prepareForConstraint(parent, children: children)
if 0 < children.count {
parent.addConstraint(NSLayoutConstraint(item: children[0], attribute: .Left, relatedBy: .Equal, toItem: parent, attribute: .Left, multiplier: 1, constant: left))
for i in 1..<children.count {
parent.addConstraint(NSLayoutConstraint(item: children[i], attribute: .Left, relatedBy: .Equal, toItem: children[i - 1], attribute: .Right, multiplier: 1, constant: spacing))
parent.addConstraint(NSLayoutConstraint(item: children[i], attribute: .Left, relatedBy: .Equal, toItem: children[i - 1], attribute: .Right, multiplier: 1, constant: interimSpace))
parent.addConstraint(NSLayoutConstraint(item: children[i], attribute: .Width, relatedBy: .Equal, toItem: children[0], attribute: .Width, multiplier: 1, constant: 0))
}
parent.addConstraint(NSLayoutConstraint(item: children[children.count - 1], attribute: .Right, relatedBy: .Equal, toItem: parent, attribute: .Right, multiplier: 1, constant: -right))
......@@ -654,19 +654,19 @@ public extension Layout {
/**
A collection of children views are vertically stretched with optional top,
bottom padding and interim spacing.
bottom padding and interim interimSpace.
- Parameter parent: A parent UIView context.
- Parameter children: An Array UIView to layout.
- Parameter top: A CGFloat value for padding the top side.
- Parameter bottom: A CGFloat value for padding the bottom side.
- Parameter spacing: A CGFloat value for interim spacing.
- Parameter interimSpace: A CGFloat value for interim interimSpace.
*/
public class func vertically(parent: UIView, children: Array<UIView>, top: CGFloat = 0, bottom: CGFloat = 0, spacing: CGFloat = 0) {
public class func vertically(parent: UIView, children: Array<UIView>, top: CGFloat = 0, bottom: CGFloat = 0, interimSpace: CGFloat = 0) {
prepareForConstraint(parent, children: children)
if 0 < children.count {
parent.addConstraint(NSLayoutConstraint(item: children[0], attribute: .Top, relatedBy: .Equal, toItem: parent, attribute: .Top, multiplier: 1, constant: top))
for i in 1..<children.count {
parent.addConstraint(NSLayoutConstraint(item: children[i], attribute: .Top, relatedBy: .Equal, toItem: children[i - 1], attribute: .Bottom, multiplier: 1, constant: spacing))
parent.addConstraint(NSLayoutConstraint(item: children[i], attribute: .Top, relatedBy: .Equal, toItem: children[i - 1], attribute: .Bottom, multiplier: 1, constant: interimSpace))
parent.addConstraint(NSLayoutConstraint(item: children[i], attribute: .Height, relatedBy: .Equal, toItem: children[0], attribute: .Height, multiplier: 1, constant: 0))
}
parent.addConstraint(NSLayoutConstraint(item: children[children.count - 1], attribute: .Bottom, relatedBy: .Equal, toItem: parent, attribute: .Bottom, multiplier: 1, constant: -bottom))
......
......@@ -152,20 +152,20 @@ public class MaterialCollectionReusableView : UICollectionReusableView {
}
}
/// A preset wrapper around spacing.
public var spacingPreset: MaterialSpacing = .None {
/// A preset wrapper around interimSpace.
public var interimSpacePreset: InterimSpace = .none {
didSet {
spacing = MaterialSpacingToValue(spacingPreset)
interimSpace = interimSpaceToValue(interimSpacePreset)
}
}
/// A wrapper around grid.spacing.
@IBInspectable public var spacing: CGFloat {
/// A wrapper around grid.interimSpace.
@IBInspectable public var interimSpace: CGFloat {
get {
return grid.spacing
return grid.interimSpace
}
set(value) {
grid.spacing = value
grid.interimSpace = value
}
}
......
......@@ -101,20 +101,20 @@ public class MaterialCollectionView : UICollectionView {
}
}
/// A preset wrapper around spacing.
public var spacingPreset: MaterialSpacing = .None {
/// A preset wrapper around interimSpace.
public var interimSpacePreset: InterimSpace = .none {
didSet {
spacing = MaterialSpacingToValue(spacingPreset)
interimSpace = interimSpaceToValue(interimSpacePreset)
}
}
/// Spacing between items.
@IBInspectable public var spacing: CGFloat {
@IBInspectable public var interimSpace: CGFloat {
get {
return (collectionViewLayout as? MaterialCollectionViewLayout)!.spacing
return (collectionViewLayout as? MaterialCollectionViewLayout)!.interimSpace
}
set(value) {
(collectionViewLayout as? MaterialCollectionViewLayout)!.spacing = value
(collectionViewLayout as? MaterialCollectionViewLayout)!.interimSpace = value
}
}
......
......@@ -152,20 +152,20 @@ public class MaterialCollectionViewCell : UICollectionViewCell {
}
}
/// A preset wrapper around spacing.
public var spacingPreset: MaterialSpacing = .None {
/// A preset wrapper around interimSpace.
public var interimSpacePreset: InterimSpace = .none {
didSet {
spacing = MaterialSpacingToValue(spacingPreset)
interimSpace = interimSpaceToValue(interimSpacePreset)
}
}
/// A wrapper around grid.spacing.
@IBInspectable public var spacing: CGFloat {
/// A wrapper around grid.interimSpace.
@IBInspectable public var interimSpace: CGFloat {
get {
return contentView.grid.spacing
return contentView.grid.interimSpace
}
set(value) {
contentView.grid.spacing = value
contentView.grid.interimSpace = value
}
}
......
......@@ -59,15 +59,15 @@ public class MaterialCollectionViewLayout : UICollectionViewLayout {
/// Scroll direction.
public var scrollDirection: UICollectionViewScrollDirection = .Vertical
/// A preset wrapper around spacing.
public var spacingPreset: MaterialSpacing = .None {
/// A preset wrapper around interimSpace.
public var interimSpacePreset: InterimSpace = .none {
didSet {
spacing = MaterialSpacingToValue(spacingPreset)
interimSpace = interimSpaceToValue(interimSpacePreset)
}
}
/// Spacing between items.
public var spacing: CGFloat = 0
public var interimSpace: CGFloat = 0
/**
Retrieves the index paths for the items within the passed in CGRect.
......@@ -141,15 +141,15 @@ public class MaterialCollectionViewLayout : UICollectionViewLayout {
indexPath = NSIndexPath(forItem: i, inSection: 0)
layoutItems.append((layoutAttributesForItemAtIndexPath(indexPath!)!, indexPath!))
offset.x += spacing
offset.x += interimSpace
offset.x += nil == item.width ? itemSize.width : item.width!
offset.y += spacing
offset.y += interimSpace
offset.y += nil == item.height ? itemSize.height : item.height!
}
offset.x += contentInset.right - spacing
offset.y += contentInset.bottom - spacing
offset.x += contentInset.right - interimSpace
offset.y += contentInset.bottom - interimSpace
if 0 < itemSize.width && 0 < itemSize.height {
contentSize = CGSizeMake(offset.x, offset.y)
......
......@@ -48,15 +48,15 @@ public class Menu {
}
}
/// A preset wrapper around spacing.
public var spacingPreset: MaterialSpacing = .None {
/// A preset wrapper around interimSpace.
public var interimSpacePreset: InterimSpace = .none {
didSet {
spacing = MaterialSpacingToValue(spacingPreset)
interimSpace = interimSpaceToValue(interimSpacePreset)
}
}
/// The space between views.
public var spacing: CGFloat {
public var interimSpace: CGFloat {
didSet {
reloadLayout()
}
......@@ -88,11 +88,11 @@ public class Menu {
/**
Initializer.
- Parameter origin: The origin position of the Menu.
- Parameter spacing: The spacing size between views.
- Parameter interimSpace: The interimSpace size between views.
*/
public init(origin: CGPoint, spacing: CGFloat = 16) {
public init(origin: CGPoint, interimSpace: CGFloat = 16) {
self.origin = origin
self.spacing = spacing
self.interimSpace = interimSpace
}
/// Convenience initializer.
......@@ -186,7 +186,7 @@ public class Menu {
animations: { [weak self] in
if let s: Menu = self {
view.alpha = 1
view.frame.origin.y = base!.frame.origin.y - CGFloat(i) * s.itemSize.height - CGFloat(i) * s.spacing
view.frame.origin.y = base!.frame.origin.y - CGFloat(i) * s.itemSize.height - CGFloat(i) * s.interimSpace
animations?(view)
}
}) { [weak self] _ in
......@@ -272,7 +272,7 @@ public class Menu {
animations: { [weak self] in
if let s: Menu = self {
view.alpha = 1
view.frame.origin.y = base!.frame.origin.y + h + CGFloat(i - 1) * s.itemSize.height + CGFloat(i) * s.spacing
view.frame.origin.y = base!.frame.origin.y + h + CGFloat(i - 1) * s.itemSize.height + CGFloat(i) * s.interimSpace
animations?(view)
}
}) { [weak self] _ in
......@@ -358,7 +358,7 @@ public class Menu {
animations: { [weak self] in
if let s: Menu = self {
view.alpha = 1
view.frame.origin.x = base!.frame.origin.x - CGFloat(i) * s.itemSize.width - CGFloat(i) * s.spacing
view.frame.origin.x = base!.frame.origin.x - CGFloat(i) * s.itemSize.width - CGFloat(i) * s.interimSpace
animations?(view)
}
}) { [weak self] _ in
......@@ -442,7 +442,7 @@ public class Menu {
animations: { [weak self] in
if let s: Menu = self {
view.alpha = 1
view.frame.origin.x = base!.frame.origin.x + h + CGFloat(i - 1) * s.itemSize.width + CGFloat(i) * s.spacing
view.frame.origin.x = base!.frame.origin.x + h + CGFloat(i - 1) * s.itemSize.width + CGFloat(i) * s.interimSpace
animations?(view)
}
}) { [weak self] _ in
......
......@@ -75,15 +75,15 @@ public class NavigationBar : UINavigationBar {
}
}
/// A preset wrapper around spacing.
public var spacingPreset: MaterialSpacing = .None {
/// A preset wrapper around interimSpace.
public var interimSpacePreset: InterimSpace = .none {
didSet {
spacing = MaterialSpacingToValue(spacingPreset)
interimSpace = interimSpaceToValue(interimSpacePreset)
}
}
/// A wrapper around grid.spacing.
@IBInspectable public var spacing: CGFloat = 0 {
/// A wrapper around grid.interimSpace.
@IBInspectable public var interimSpace: CGFloat = 0 {
didSet {
layoutSubviews()
}
......@@ -377,7 +377,7 @@ public class NavigationBar : UINavigationBar {
}
titleView.grid.contentInset = contentInset
titleView.grid.spacing = spacing
titleView.grid.interimSpace = interimSpace
titleView.grid.reloadLayout()
// contentView alignment.
......@@ -432,7 +432,7 @@ public class NavigationBar : UINavigationBar {
barStyle = .Black
translucent = false
depth = .Depth1
spacingPreset = .Spacing1
interimSpacePreset = .interimSpace1
contentInsetPreset = .Square1
contentScaleFactor = MaterialDevice.scale
backButtonImage = Icon.cm.arrowBack
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment