Commit 33260ec0 by Daniel Dahan

updated buttons layout for BasicCard

parent 03ada092
...@@ -115,9 +115,24 @@ public class BasicCard : MaterialCard { ...@@ -115,9 +115,24 @@ public class BasicCard : MaterialCard {
public private(set) var buttonsContainer: UIView? public private(set) var buttonsContainer: UIView?
/** /**
:name: buttons :name: leftButtons
*/ */
public var buttons: Array<MaterialButton>? { public var leftButtons: Array<MaterialButton>? {
didSet {
if nil == buttonsContainer {
buttonsContainer = UIView()
buttonsContainer!.setTranslatesAutoresizingMaskIntoConstraints(false)
buttonsContainer!.backgroundColor = MaterialTheme.clear.color
addSubview(buttonsContainer!)
}
prepareCard()
}
}
/**
:name: rightButtons
*/
public var rightButtons: Array<MaterialButton>? {
didSet { didSet {
if nil == buttonsContainer { if nil == buttonsContainer {
buttonsContainer = UIView() buttonsContainer = UIView()
...@@ -175,7 +190,7 @@ public class BasicCard : MaterialCard { ...@@ -175,7 +190,7 @@ public class BasicCard : MaterialCard {
detailLabelContainer!.addConstraints(Layout.constraint("V:|-(verticalSpace)-[detailLabel(<=maximumDetailHeight)]-(verticalSpace)-|", options: nil, metrics: ["verticalSpace": verticalSpace, "maximumDetailHeight": maximumDetailHeight], views: ["detailLabel": detailLabel!])) detailLabelContainer!.addConstraints(Layout.constraint("V:|-(verticalSpace)-[detailLabel(<=maximumDetailHeight)]-(verticalSpace)-|", options: nil, metrics: ["verticalSpace": verticalSpace, "maximumDetailHeight": maximumDetailHeight], views: ["detailLabel": detailLabel!]))
} }
if nil != buttonsContainer && nil != buttons { if nil != buttonsContainer && (nil != leftButtons || nil != rightButtons) {
// divider // divider
if nil != divider { if nil != divider {
layoutConstraints += Layout.constraint("H:|[divider]|", options: nil, metrics: nil, views: ["divider": divider!]) layoutConstraints += Layout.constraint("H:|[divider]|", options: nil, metrics: nil, views: ["divider": divider!])
...@@ -188,17 +203,33 @@ public class BasicCard : MaterialCard { ...@@ -188,17 +203,33 @@ public class BasicCard : MaterialCard {
verticalFormat += "[buttonsContainer]" verticalFormat += "[buttonsContainer]"
views["buttonsContainer"] = buttonsContainer! views["buttonsContainer"] = buttonsContainer!
// buttons // leftButtons
var horizontalFormat: String = "H:|" if nil != leftButtons {
var buttonViews: Dictionary<String, AnyObject> = Dictionary<String, AnyObject>() var horizontalFormat: String = "H:|"
for var i: Int = 0, l: Int = buttons!.count; i < l; ++i { var buttonViews: Dictionary<String, AnyObject> = Dictionary<String, AnyObject>()
let button: MaterialButton = buttons![i] for var i: Int = 0, l: Int = leftButtons!.count; i < l; ++i {
buttonsContainer!.addSubview(button) let button: MaterialButton = leftButtons![i]
buttonViews["button\(i)"] = button buttonsContainer!.addSubview(button)
horizontalFormat += "-(verticalSpace)-[button\(i)]" buttonViews["button\(i)"] = button
Layout.expandToParentVerticallyWithPad(buttonsContainer!, child: button, top: verticalSpace, bottom: verticalSpace) horizontalFormat += "-(verticalSpace)-[button\(i)]"
Layout.expandToParentVerticallyWithPad(buttonsContainer!, child: button, top: verticalSpace, bottom: verticalSpace)
}
buttonsContainer!.addConstraints(Layout.constraint(horizontalFormat, options: nil, metrics: ["verticalSpace": verticalSpace], views: buttonViews))
}
// rightButtons
if nil != rightButtons {
var horizontalFormat: String = "H:"
var buttonViews: Dictionary<String, AnyObject> = Dictionary<String, AnyObject>()
for var i: Int = 0, l: Int = rightButtons!.count; i < l; ++i {
let button: MaterialButton = rightButtons![i]
buttonsContainer!.addSubview(button)
buttonViews["button\(i)"] = button
horizontalFormat += "[button\(i)]-(verticalSpace)-"
Layout.expandToParentVerticallyWithPad(buttonsContainer!, child: button, top: verticalSpace, bottom: verticalSpace)
}
buttonsContainer!.addConstraints(Layout.constraint(horizontalFormat + "|", options: nil, metrics: ["verticalSpace": verticalSpace], views: buttonViews))
} }
buttonsContainer!.addConstraints(Layout.constraint(horizontalFormat, options: nil, metrics: ["verticalSpace": verticalSpace], views: buttonViews))
} }
verticalFormat += "|" verticalFormat += "|"
......
...@@ -117,7 +117,6 @@ public class MaterialCard : UIView { ...@@ -117,7 +117,6 @@ public class MaterialCard : UIView {
layer.shadowOffset = CGSizeMake(0.05, 0.05) layer.shadowOffset = CGSizeMake(0.05, 0.05)
layer.shadowOpacity = 0.1 layer.shadowOpacity = 0.1
layer.shadowRadius = 3 layer.shadowRadius = 3
layer.shadowPath = UIBezierPath(rect: bounds).CGPath
} }
// //
...@@ -125,6 +124,7 @@ public class MaterialCard : UIView { ...@@ -125,6 +124,7 @@ public class MaterialCard : UIView {
// //
public override func layoutSubviews() { public override func layoutSubviews() {
super.layoutSubviews() super.layoutSubviews()
layer.shadowPath = UIBezierPath(rect: bounds).CGPath
} }
// //
......
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