Commit d52bee10 by Daniel Dahan Committed by GitHub

Merge pull request #437 from mohpor/development

New Layout API added to Material and Example Projects
parents 2b3fa494 2a14b2cc
......@@ -96,15 +96,8 @@ class AppLeftViewController: UIViewController {
nameLabel.textColor = MaterialColor.white
nameLabel.font = RobotoFont.mediumWithSize(18)
view.layout.size(profileView, width: 72, height: 72)
view.layout.align.topLeft(profileView, top: 30, left: (view.bounds.width - 72) / 2)
view.addSubview(nameLabel)
view.layout.align
Layout.alignFromTop(view, child: nameLabel, top: 130)
Layout.alignToParentHorizontally(view, child: nameLabel, left: 20, right: 20)
// view.layout.alignFromTop(nameLabel, top: 130)
// view.layout.horizontally(nameLabel, left: 20, right: 20)
view.layout(profileView).width(72).height(72).top(30).centerHorizontally()
view.layout(nameLabel).top(130).left(20).right(20)
}
/// Prepares the tableView.
......@@ -116,7 +109,7 @@ class AppLeftViewController: UIViewController {
tableView.separatorStyle = .None
// Use Layout to easily align the tableView.
view.layout.align.edges(tableView, top: 170)
view.layout(tableView).edges(top: 170)
}
}
......
......@@ -156,8 +156,8 @@ class AppMenuController: MenuController {
menuView.menu.views = [menuButton, blueButton, greenButton, yellowButton]
menuView.delegate = self
view.layout.size(menuView, width: baseSize.width, height: baseSize.height)
view.layout.align.bottomRight(menuView, bottom: menuViewInset, right: menuViewInset)
view.layout(menuView).width(baseSize.width).height(baseSize.height).bottom(menuViewInset).right(menuViewInset)
}
/// Prepare tabBarItem.
......
......@@ -82,7 +82,7 @@ class ItemViewController: UIViewController {
scrollView.frame = view.bounds
scrollView.removeConstraints(scrollView.constraints)
scrollView.layout.width(imageCardView, width: scrollView.bounds.width)
scrollView.layout(imageCardView).width(scrollView.bounds.width)
imageCardView.layoutIfNeeded()
scrollView.contentSize = CGSizeMake(view.bounds.width, imageCardView.height)
......
......@@ -169,7 +169,7 @@ class RecipesViewController: UIViewController {
tableView.delegate = self
// Use Layout to easily align the tableView.
view.layout.align.edges(tableView)
view.layout(tableView).edges()
}
}
......@@ -214,7 +214,7 @@ extension RecipesViewController: UITableViewDataSource {
label.textColor = MaterialColor.grey.darken1
label.text = "Favorites"
header.layout.align.edges(label, left: 24)
header.layout(label).edges(left: 24)
return header
}
......
......@@ -70,7 +70,7 @@ class RecommendationViewController: UIViewController {
tableView.delegate = self
// Use Layout to easily align the tableView.
view.layout.align.edges(tableView)
view.layout(tableView).edges()
}
}
......@@ -115,7 +115,7 @@ extension RecommendationViewController: UITableViewDataSource {
label.textColor = MaterialColor.grey.darken1
label.text = "Recommendations"
header.layout.align.edges(label, left: 24)
header.layout(label).edges(left: 24)
return header
}
......
......@@ -226,7 +226,7 @@ class ViewController: UIViewController, CaptureViewDelegate, CaptureSessionDeleg
captureView.tapToExposeEnabled = true
captureView.delegate = self
captureView.captureSession.delegate = self
view.layout.align(captureView)
view.layout(captureView).edges()
}
/**
......
......@@ -79,8 +79,7 @@ class ViewController: UIViewController {
cardView.leftButtons = [btn1, btn2]
// To support orientation changes, use Layout.
view.layout.alignFromTop(cardView, top: 100)
view.layout.horizontally(cardView, left: 20, right: 20)
view.layout(cardView).top(100).left(20).right(20)
}
private func prepareCardViewWithoutPulseBackgroundImageExample() {
......@@ -117,8 +116,7 @@ class ViewController: UIViewController {
cardView.leftButtons = [btn1]
// To support orientation changes, use Layout.
view.layout.alignFromTop(cardView, top: 100)
view.layout.horizontally(cardView, left: 20, right: 20)
view.layout(cardView).top(100).left(20).right(20)
}
private func prepareCardViewWithPulseBackgroundImageExample() {
......@@ -156,8 +154,7 @@ class ViewController: UIViewController {
cardView.leftButtons = [btn1]
// To support orientation changes, use Layout.
view.layout.alignFromTop(cardView, top: 100)
view.layout.horizontally(cardView, left: 20, right: 20)
view.layout(cardView).top(100).left(20).right(20)
}
private func prepareCardViewButtonBarExample() {
......@@ -194,8 +191,7 @@ class ViewController: UIViewController {
cardView.rightButtons = [btn2, btn3]
// To support orientation changes, use Layout.
view.layout.alignFromTop(cardView, top: 100)
view.layout.horizontally(cardView, left: 20, right: 20)
view.layout(cardView).top(100).left(20).right(20)
}
}
......@@ -83,8 +83,7 @@ class ViewController: UIViewController {
imageCardView.leftButtons = [btn1, btn2]
// To support orientation changes, use Layout.
view.layout.alignFromTop(imageCardView, top: 100)
view.layout.horizontally(imageCardView, left: 20, right: 20)
view.layout(imageCardView).top(100).left(20).right(20)
}
private func prepareImageCardViewWithoutDetailLabelAndDividerExample() {
......@@ -132,8 +131,7 @@ class ViewController: UIViewController {
imageCardView.rightButtons = [btn1, btn2, btn3]
// To support orientation changes, use Layout.
view.layout.alignFromTop(imageCardView, top: 100)
view.layout.horizontally(imageCardView, left: 20, right: 20)
view.layout(imageCardView).top(100).left(20).right(20)
}
}
......@@ -41,7 +41,7 @@ class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
prepareView()
// prepareAlignToParentHorizontallyAndVerticallyExample()
prepareAlignToParentHorizontallyAndVerticallyExample()
prepareCenterExample()
}
......@@ -74,11 +74,9 @@ class ViewController: UIViewController {
let children: Array<UIView> = [label1, label2, label3, label4]
// Align the labels vertically with an equal height.
view.layout.vertically(children, top: 100, bottom: 100)
// Align the labels horizontally with an equal width.
view.layout.horizontally(children, left: 30, right: 30, spacing: 30)
// 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)
// Print out the dimensions of the labels.
for v in children {
......@@ -98,8 +96,7 @@ class ViewController: UIViewController {
labelCX.layer.cornerRadius = length / 2.0
labelCX.clipsToBounds = true
view.layout.size(labelCX, width: length, height: length)
view.layout.centerHorizontally(labelCX)
view.layout(labelCX).width(length).height(length).centerHorizontally()
let labelCY = UILabel()
labelCY.backgroundColor = MaterialColor.grey.base
......@@ -108,8 +105,7 @@ class ViewController: UIViewController {
labelCY.layer.cornerRadius = length / 2.0
labelCY.clipsToBounds = true
view.layout.size(labelCY, width: length, height: length)
view.layout.centerVertically(labelCY)
view.layout(labelCY).width(length).height(length).centerVertically()
let labelCXY = UILabel()
labelCXY.backgroundColor = MaterialColor.grey.base
......@@ -118,8 +114,7 @@ class ViewController: UIViewController {
labelCXY.layer.cornerRadius = length / 2.0
labelCXY.clipsToBounds = true
view.layout.size(labelCXY, width: length, height: length)
view.layout.center(labelCXY)
view.layout(labelCXY).width(length).height(length).center()
}
}
......@@ -85,7 +85,7 @@ class ViewController: UIViewController {
collectionView.contentInset.top = 100
collectionView.spacing = 16
view.layout.align(collectionView)
view.layout(collectionView).edges()
}
}
......
......@@ -70,7 +70,7 @@ class ViewController: UIViewController {
If this is left out, the intrinsic value is used for the view.
*/
for v in children {
view.layout.horizontally(v, left: 20, right: 20)
view.layout(v).horizontally(left: 20, right: 20)
}
}
}
......
......@@ -109,11 +109,11 @@ class ViewController: UIViewController {
/// Prepares the tableView.
private func prepareTableView() {
tableView.registerClass(MaterialTableViewCell.self, forCellReuseIdentifier: "Cell")
view.layout(tableView).edges(top: 20)
tableView.registerClass(MaterialTableViewCell.self, forCellReuseIdentifier: "Cell")
tableView.dataSource = self
tableView.delegate = self
view.layout.align(tableView, top: 20)
}
private func image(iconName:String!) -> UIImage? {
......
......@@ -105,7 +105,7 @@ class AppMenuController: MenuController {
view.backgroundColor = MaterialColor.black
prepareMenuView()
}

/// Prepares the add button.
private func prepareMenuView() {
var image: UIImage? = MaterialIcon.cm.add
......@@ -148,8 +148,7 @@ class AppMenuController: MenuController {
menuView.menu.views = [menuButton, blueButton, greenButton, yellowButton]
menuView.delegate = self
view.layout.size(menuView, width: baseSize.width, height: baseSize.height)
view.layout.alignFromBottomRight(menuView, bottom: menuViewInset, right: menuViewInset)
view.layout(menuView).width(baseSize.width).height(baseSize.height).bottom(menuViewInset).right(menuViewInset)
}
}
......
......@@ -137,8 +137,7 @@ class ViewController: UIViewController {
menuView.menu.baseSize = CGSizeMake(diameter, diameter)
menuView.menu.views = [btn1, btn2, btn3, btn4]
view.layout.size(menuView, width: diameter, height: diameter)
view.layout.alignFromBottomLeft(menuView, bottom: 16, left: (view.bounds.width - diameter) / 2)
view.layout(menuView).width(diameter).height(diameter).bottom(16).centerHorizontally()
}
}
......@@ -59,7 +59,7 @@ class ViewController: UIViewController {
/// Prepares the containerView.
private func prepareContainerView() {
containerView = UIView()
view.layout.align(containerView, top: 100, left: 20, right: 20)
view.layout(containerView).edges(top: 100, left: 20, right: 20)
}
/// Prepares the toolbar
......
......@@ -74,8 +74,8 @@ class AppLeftViewController: UIViewController {
tableView.delegate = self
tableView.separatorStyle = .None
// Use Layout to easily align the tableView.
view.layout.align.edges(tableView)
// Use Layout to easily align the tableView.
view.layout(tableView).edges(top: 170)
}
}
......
......@@ -117,7 +117,7 @@ class ViewController: UIViewController {
cardView.leftButtons = [closeButton]
cardView.rightButtons = [settingButton]
view.layout.align(cardView, left: 10, right: 10, top: 100, bottom: 100)
view.layout(cardView).edges(left: 10, right: 10, top: 100, bottom: 100)
}
}
......
......@@ -70,8 +70,7 @@ class ViewController: UIViewController, TextFieldDelegate {
btn.setTitleColor(MaterialColor.blue.base, forState: .Normal)
btn.setTitleColor(MaterialColor.blue.base, forState: .Highlighted)
view.layout.size(btn, width: 100, height: 50)
view.layout.alignFromBottomRight(btn, bottom: 24, right: 24)
view.layout(btn).width(100).height(50).bottom(24).right(24)
}
/// Handle the resign responder button.
......@@ -93,8 +92,7 @@ class ViewController: UIViewController, TextFieldDelegate {
// Size the TextField to the maximum width, less 40 pixels on either side
// with a top margin of 40 pixels.
view.layout.alignFromTop(nameField, top: 40)
view.layout.horizontally(nameField, left: 40, right: 40)
view.layout(nameField).top(40).horizontally(left: 40, right: 40)
}
/// Prepares the email TextField.
......@@ -125,8 +123,7 @@ class ViewController: UIViewController, TextFieldDelegate {
// Size the TextField to the maximum width, less 40 pixels on either side
// with a top margin of 200 pixels.
view.layout.alignFromTop(passwordField, top: 200)
view.layout.horizontally(passwordField, left: 40, right: 40)
view.layout(passwordField).top(200).horizontally(left: 40, right: 40)
}
/// Executed when the 'return' key is pressed when using the emailField.
......
......@@ -75,7 +75,7 @@ class ViewController: UIViewController, TextDelegate {
textView.titleLabelColor = MaterialColor.grey.base
textView.titleLabelActiveColor = MaterialColor.blue.accent3
view.layout.align(textView!, top: 124, left: 24, bottom: 24, right: 24)
view.layout(textView!).edges(top: 124, left: 24, bottom: 24, right: 24)
}
/**
......
......@@ -59,7 +59,7 @@ class ViewController: UIViewController {
/// Prepares the containerView.
private func prepareContainerView() {
containerView = UIView()
view.layout.align.edges(containerView, top: 100, left: 20, right: 20)
view.layout(containerView).edges(top: 100, left: 20, right: 20)
}
/// Prepares the toolbar
......
......@@ -43,8 +43,7 @@ class RootViewController: UIViewController {
fabButton.setImage(img, forState: .Highlighted)
fabButton.addTarget(self, action: #selector(handleFabButton), forControlEvents: .TouchUpInside)
view.layout.size(fabButton, width: 64, height: 64)
view.layout.alignFromBottomRight(fabButton, bottom: 16, right: 16)
view.layout(fabButton).width(64).height(64).bottom(16).right(16)
}
// FabButton handler.
......
......@@ -233,8 +233,8 @@ public class BottomTabBar : UITabBar {
super.didMoveToSuperview()
if autoLayoutToSuperview {
if let v: UIView = superview {
v.layout.align.bottom(self)
v.layout.horizontally(self)
v.layout(self).bottom()
v.layout(self).horizontally()
}
}
}
......
......@@ -277,7 +277,7 @@ public class CardView : MaterialPulseView {
verticalFormat += "-[titleLabel]"
views["titleLabel"] = v
layout.horizontally(v, left: contentInset.left + titleLabelInset.left, right: contentInset.right + titleLabelInset.right)
layout(v).horizontally(left: contentInset.left + titleLabelInset.left, right: contentInset.right + titleLabelInset.right)
}
// detail
......@@ -292,7 +292,7 @@ public class CardView : MaterialPulseView {
verticalFormat += "-[contentView]"
views["contentView"] = v
layout.horizontally(v, left: contentInset.left + contentViewInset.left, right: contentInset.right + contentViewInset.right)
layout(v).horizontally(left: contentInset.left + contentViewInset.left, right: contentInset.right + contentViewInset.right)
}
// leftButtons
......@@ -314,7 +314,7 @@ public class CardView : MaterialPulseView {
h += "[\(k)]"
layout.align.bottom(b, bottom: contentInset.bottom + leftButtonsInset.bottom)
layout(b).bottom(contentInset.bottom + leftButtonsInset.bottom)
i += 1
}
......@@ -343,7 +343,7 @@ public class CardView : MaterialPulseView {
h += "-(right_left)-"
}
layout.align.bottom(b, bottom: contentInset.bottom + rightButtonsInset.bottom)
layout(b).bottom(contentInset.bottom + rightButtonsInset.bottom)
i -= 1
}
......
......@@ -378,9 +378,9 @@ public class ImageCardView : MaterialPulseView {
verticalFormat += "-[titleLabel]"
views["titleLabel"] = v
} else {
layout.align.top(v, top: contentInset.top + titleLabelInset.top)
layout(v).top(contentInset.top + titleLabelInset.top)
}
layout.horizontally(v, left: contentInset.left + titleLabelInset.left, right: contentInset.right + titleLabelInset.right)
layout(v).horizontally(left: contentInset.left + titleLabelInset.left, right: contentInset.right + titleLabelInset.right)
}
// detail
......@@ -395,7 +395,7 @@ public class ImageCardView : MaterialPulseView {
verticalFormat += "-[contentView]"
views["contentView"] = v
layout.horizontally(v, left: contentInset.left + contentViewInset.left, right: contentInset.right + contentViewInset.right)
layout(v).horizontally(left: contentInset.left + contentViewInset.left, right: contentInset.right + contentViewInset.right)
}
// leftButtons
......@@ -417,7 +417,7 @@ public class ImageCardView : MaterialPulseView {
h += "[\(k)]"
layout.align.bottom(b, bottom: contentInset.bottom + leftButtonsInset.bottom)
layout(b).bottom(contentInset.bottom + leftButtonsInset.bottom)
i += 1
}
......@@ -446,7 +446,7 @@ public class ImageCardView : MaterialPulseView {
h += "-(right_left)-"
}
layout.align.bottom(b, bottom: contentInset.bottom + rightButtonsInset.bottom)
layout(b).bottom(contentInset.bottom + rightButtonsInset.bottom)
i -= 1
}
......
......@@ -401,7 +401,7 @@ public class TextView: UITextView {
internal func reloadView() {
if let p = placeholderLabel {
removeConstraints(constraints)
layout.align.edges(p,
layout(p).edges(
top: textContainerInset.top,
left: textContainerInset.left + textContainer.lineFragmentPadding,
bottom: textContainerInset.bottom,
......
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