Merge branch 'feature/uistackview_convenience' into 'develop'

Feature/uistackview convenience

See merge request BPHV_MIPS/mvm_core_ui!652
This commit is contained in:
Pfeil, Scott Robert 2021-01-12 14:17:26 -05:00
commit 91d256d5e3
2 changed files with 15 additions and 1 deletions

View File

@ -21,7 +21,7 @@
//--------------------------------------------------
public override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
stack = Stack<StackModel>.createStack(with: [(view: eyebrowHeadlineBodyLink, model: StackItemModel(horizontalAlignment: .leading, verticalAlignment: .top)), (view: rightLabel, model: StackItemModel(horizontalAlignment:.fill))], axis: .horizontal)
stack = Stack<StackModel>.createStack(with: [(view: eyebrowHeadlineBodyLink, model: StackItemModel(horizontalAlignment: .leading, verticalAlignment: .leading)), (view: rightLabel, model: StackItemModel(horizontalAlignment:.fill))], axis: .horizontal)
super.init(style: style, reuseIdentifier: reuseIdentifier)
}

View File

@ -14,6 +14,19 @@ extension UIStackView: MVMCoreViewProtocol {
(view as? MVMCoreViewProtocol)?.updateView(size)
}
}
/// A convenience function for updating molecules. If model is nil, view is hidden.
open func updateContainedMolecules(with models: [MoleculeModelProtocol?], _ delegateObject: MVMCoreUIDelegateObject?, _ additionalData: [AnyHashable: Any]?) {
for (index, item) in arrangedSubviews.enumerated() {
if let model = models[index] {
(item as? MoleculeViewProtocol)?.set(with: model, delegateObject, additionalData)
item.isHidden = false
} else {
item.isHidden = true
}
}
layoutIfNeeded()
}
}
extension UIStackView: MoleculeViewProtocol {
@ -23,3 +36,4 @@ extension UIStackView: MoleculeViewProtocol {
}
}
}