diff --git a/MVMCoreUI/Containers/Container.swift b/MVMCoreUI/Containers/Container.swift index a2e34a49..42a53848 100644 --- a/MVMCoreUI/Containers/Container.swift +++ b/MVMCoreUI/Containers/Container.swift @@ -197,7 +197,7 @@ public class ContainerHelper: NSObject { } open class Container: View, ContainerProtocol { - var view: UIView? + public var view: UIView? let containerHelper = ContainerHelper() var containerModel: ContainerModelProtocol? { get { return model as? ContainerModelProtocol } diff --git a/MVMCoreUI/Containers/ContainerProtocol.swift b/MVMCoreUI/Containers/ContainerProtocol.swift index 8079ca24..10bac27c 100644 --- a/MVMCoreUI/Containers/ContainerProtocol.swift +++ b/MVMCoreUI/Containers/ContainerProtocol.swift @@ -9,6 +9,7 @@ import Foundation public protocol ContainerProtocol { + var view: UIView? { get set } func alignHorizontal(_ alignment: UIStackView.Alignment) func alignVertical(_ alignment: UIStackView.Alignment) func constrainView(_ view: UIView) diff --git a/MVMCoreUI/Organisms/Stack.swift b/MVMCoreUI/Organisms/Stack.swift index 572c772f..f67f7a0e 100644 --- a/MVMCoreUI/Organisms/Stack.swift +++ b/MVMCoreUI/Organisms/Stack.swift @@ -190,8 +190,8 @@ open class Stack: Container where T: StackModelProtocol { let spacing = model.spacing ?? stackModel.spacing if let container = view as? ContainerProtocol { - let verticalAlignment = (model as? ContainerModelProtocol)?.verticalAlignment ?? (view as? MVMCoreUIViewConstrainingProtocol)?.verticalAlignment?() ?? (model.percent == nil && stackModel.axis == .vertical ? .fill : (stackModel.axis == .vertical ? .leading : .center)) - let horizontalAlignment = (model as? ContainerModelProtocol)?.horizontalAlignment ?? (view as? MVMCoreUIViewConstrainingProtocol)?.horizontalAlignment?() ?? (stackModel.axis == .vertical || model.percent == nil ? .fill : .leading) + let verticalAlignment = (model as? ContainerModelProtocol)?.verticalAlignment ?? (container.view as? MVMCoreUIViewConstrainingProtocol)?.verticalAlignment?() ?? (model.percent == nil && stackModel.axis == .vertical ? .fill : (stackModel.axis == .vertical ? .leading : .center)) + let horizontalAlignment = (model as? ContainerModelProtocol)?.horizontalAlignment ?? (container.view as? MVMCoreUIViewConstrainingProtocol)?.horizontalAlignment?() ?? (stackModel.axis == .vertical || model.percent == nil ? .fill : .leading) container.alignHorizontal(horizontalAlignment) container.alignVertical(verticalAlignment) }