Code changes using the StackModel
This commit is contained in:
parent
d5ac7e3e6d
commit
d92c5b5679
@ -13,14 +13,13 @@ import Foundation
|
|||||||
let leftHeadlineBody = HeadlineBody(frame: .zero)
|
let leftHeadlineBody = HeadlineBody(frame: .zero)
|
||||||
let centerHeadLineBody = HeadlineBody(frame: .zero)
|
let centerHeadLineBody = HeadlineBody(frame: .zero)
|
||||||
let rightHeadLineBody = HeadlineBody(frame: .zero)
|
let rightHeadLineBody = HeadlineBody(frame: .zero)
|
||||||
private var stack = UIStackView()
|
let stack = Stack<StackModel>(frame: .zero)
|
||||||
|
|
||||||
// MARK: - MFViewProtocol
|
// MARK: - MFViewProtocol
|
||||||
open override func updateView(_ size: CGFloat) {
|
open override func updateView(_ size: CGFloat) {
|
||||||
super.updateView(size)
|
super.updateView(size)
|
||||||
leftHeadlineBody.updateView(size)
|
styleTallDivider()
|
||||||
centerHeadLineBody.updateView(size)
|
stack.updateView(size)
|
||||||
rightHeadLineBody.updateView(size)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
open override func setupView() {
|
open override func setupView() {
|
||||||
@ -28,18 +27,11 @@ import Foundation
|
|||||||
guard leftHeadlineBody.superview == nil else {
|
guard leftHeadlineBody.superview == nil else {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
//using stackView to align the three headlineBody
|
//using stackItems to align the three headlineBody
|
||||||
stack.translatesAutoresizingMaskIntoConstraints = false
|
stack.translatesAutoresizingMaskIntoConstraints = false
|
||||||
|
stack.stackItems = [StackItem(andContain: leftHeadlineBody),StackItem(andContain: centerHeadLineBody),StackItem(andContain: rightHeadLineBody)]
|
||||||
contentView.addSubview(stack)
|
contentView.addSubview(stack)
|
||||||
stack.addArrangedSubview(leftHeadlineBody)
|
containerHelper.constrainView(stack)
|
||||||
stack.addArrangedSubview(centerHeadLineBody)
|
|
||||||
stack.addArrangedSubview(rightHeadLineBody)
|
|
||||||
NSLayoutConstraint.constraintPinSubview(stack, pinTop: true, topConstant: 0, pinBottom: false, bottomConstant: 0, pinLeft: true, leftConstant: PaddingDefaultHorizontalSpacing, pinRight: true, rightConstant: PaddingDefaultHorizontalSpacing)
|
|
||||||
stack.bottomAnchor.constraint(equalTo: contentView.bottomAnchor, constant: 0).isActive = true
|
|
||||||
stack.axis = .horizontal
|
|
||||||
stack.spacing = 35
|
|
||||||
stack.distribution = .fillProportionally
|
|
||||||
styleTallDivider()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// MARK: - MVMCoreUIMoleculeViewProtocol
|
// MARK: - MVMCoreUIMoleculeViewProtocol
|
||||||
@ -49,14 +41,18 @@ import Foundation
|
|||||||
leftHeadlineBody.setWithModel(model.leftHeadlineBody, delegateObject, additionalData)
|
leftHeadlineBody.setWithModel(model.leftHeadlineBody, delegateObject, additionalData)
|
||||||
centerHeadLineBody.setWithModel(model.centerHeadlineBody, delegateObject, additionalData)
|
centerHeadLineBody.setWithModel(model.centerHeadlineBody, delegateObject, additionalData)
|
||||||
rightHeadLineBody.setWithModel(model.rightHeadlineBody, delegateObject, additionalData)
|
rightHeadLineBody.setWithModel(model.rightHeadlineBody, delegateObject, additionalData)
|
||||||
|
|
||||||
|
// Create a stack model to use for the internal stack.
|
||||||
|
let stackModel = StackModel(molecules: [StackItemModel(percent: 33),StackItemModel(percent: 33),StackItemModel(percent: 33)])
|
||||||
|
stackModel.spacing = 0
|
||||||
|
stackModel.axis = .horizontal
|
||||||
|
stack.model = stackModel
|
||||||
|
stack.restack()
|
||||||
}
|
}
|
||||||
|
|
||||||
open override func reset() {
|
open override func reset() {
|
||||||
super.reset()
|
super.reset()
|
||||||
styleTallDivider()
|
stack.reset()
|
||||||
leftHeadlineBody.reset()
|
|
||||||
centerHeadLineBody.reset()
|
|
||||||
rightHeadLineBody.reset()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public override class func estimatedHeight(forRow molecule: MoleculeModelProtocol?, delegateObject: MVMCoreUIDelegateObject?) -> CGFloat {
|
public override class func estimatedHeight(forRow molecule: MoleculeModelProtocol?, delegateObject: MVMCoreUIDelegateObject?) -> CGFloat {
|
||||||
|
|||||||
@ -19,4 +19,9 @@ import Foundation
|
|||||||
self.init()
|
self.init()
|
||||||
self.gone = gone
|
self.gone = gone
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public convenience init(percent: Int) {
|
||||||
|
self.init()
|
||||||
|
self.percent = percent
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user