update defaults.
This commit is contained in:
parent
4bd5006e5e
commit
2221ab6672
@ -241,8 +241,8 @@ public class MoleculeStackView: ViewConstrainingView {
|
|||||||
|
|
||||||
let spacing = stackItem.spacing ?? self.spacing
|
let spacing = stackItem.spacing ?? self.spacing
|
||||||
if let view = view as? MVMCoreUIViewConstrainingProtocol {
|
if let view = view as? MVMCoreUIViewConstrainingProtocol {
|
||||||
let verticalAlignment = stackItem.verticalAlignment ?? (stackItem.percentage == nil && axis == .vertical ? UIStackView.Alignment.fill : UIStackView.Alignment.leading)
|
let verticalAlignment = stackItem.verticalAlignment ?? (stackItem.percentage == nil && axis == .vertical ? .fill : (axis == .vertical ? .leading : .center))
|
||||||
let horizontalAlignment = stackItem.horizontalAlignment ?? view.alignment?() ?? (axis == .vertical || stackItem.percentage == nil ? UIStackView.Alignment.fill : UIStackView.Alignment.leading)
|
let horizontalAlignment = stackItem.horizontalAlignment ?? view.alignment?() ?? (axis == .vertical || stackItem.percentage == nil ? .fill : .leading)
|
||||||
view.alignHorizontal?(horizontalAlignment)
|
view.alignHorizontal?(horizontalAlignment)
|
||||||
view.alignVertical?(verticalAlignment)
|
view.alignVertical?(verticalAlignment)
|
||||||
}
|
}
|
||||||
@ -262,7 +262,8 @@ public class MoleculeStackView: ViewConstrainingView {
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if items.count == 0 {
|
if items.count == 0 {
|
||||||
spacingConstraints.append(pinView(view, toView: contentView, attribute: .leading, relation: .equal, priority: .required, constant: spacing))
|
// First horizontal item has no spacing by default unless told otherwise.
|
||||||
|
spacingConstraints.append(pinView(view, toView: contentView, attribute: .leading, relation: .equal, priority: .required, constant: stackItem.spacing ?? 0))
|
||||||
} else if let previousView = items.last?.view {
|
} else if let previousView = items.last?.view {
|
||||||
spacingConstraints.append(NSLayoutConstraint(pinFirstView: previousView, toSecondView: view, withConstant: spacing, directionVertical: false))
|
spacingConstraints.append(NSLayoutConstraint(pinFirstView: previousView, toSecondView: view, withConstant: spacing, directionVertical: false))
|
||||||
}
|
}
|
||||||
|
|||||||
@ -43,11 +43,23 @@ import UIKit
|
|||||||
public func updateView(_ size: CGFloat) {
|
public func updateView(_ size: CGFloat) {
|
||||||
MFStyler.setDefaultMarginsFor(self, size: size, horizontal: true, vertical: true)
|
MFStyler.setDefaultMarginsFor(self, size: size, horizontal: true, vertical: true)
|
||||||
if #available(iOS 11.0, *) {
|
if #available(iOS 11.0, *) {
|
||||||
contentView.directionalLayoutMargins = directionalLayoutMargins
|
if accessoryView != nil {
|
||||||
|
var margin = directionalLayoutMargins
|
||||||
|
margin.trailing = 16
|
||||||
|
contentView.directionalLayoutMargins = margin
|
||||||
|
} else {
|
||||||
|
contentView.directionalLayoutMargins = directionalLayoutMargins
|
||||||
|
}
|
||||||
topSeparatorView?.setLeftAndRightPinConstant(directionalLayoutMargins.leading)
|
topSeparatorView?.setLeftAndRightPinConstant(directionalLayoutMargins.leading)
|
||||||
bottomSeparatorView?.setLeftAndRightPinConstant(directionalLayoutMargins.leading)
|
bottomSeparatorView?.setLeftAndRightPinConstant(directionalLayoutMargins.leading)
|
||||||
} else {
|
} else {
|
||||||
contentView.layoutMargins = layoutMargins
|
if accessoryView != nil {
|
||||||
|
var margin = layoutMargins
|
||||||
|
margin.right = 16
|
||||||
|
contentView.layoutMargins = margin
|
||||||
|
} else {
|
||||||
|
contentView.layoutMargins = layoutMargins
|
||||||
|
}
|
||||||
topSeparatorView?.setLeftAndRightPinConstant(layoutMargins.left)
|
topSeparatorView?.setLeftAndRightPinConstant(layoutMargins.left)
|
||||||
bottomSeparatorView?.setLeftAndRightPinConstant(layoutMargins.left)
|
bottomSeparatorView?.setLeftAndRightPinConstant(layoutMargins.left)
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user