Changed code to align with Android.

This commit is contained in:
Kevin G Christiano 2019-08-14 10:05:44 -04:00
parent b65cb3ed5c
commit 248ee9a0d4

View File

@ -14,8 +14,7 @@ import UIKit
// MARK: - Outlets // MARK: - Outlets
//------------------------------------------------------ //------------------------------------------------------
let title = Label.commonLabelH3(true) let header = HeadlineBody(frame: .zero)
let message = Label.commonLabelB3(true)
let button = PrimaryButton.primaryTinyButton(false)! let button = PrimaryButton.primaryTinyButton(false)!
let imageLoader = MFLoadImageView(pinnedEdges: .all) let imageLoader = MFLoadImageView(pinnedEdges: .all)
let leftContainer = ViewConstrainingView.empty() let leftContainer = ViewConstrainingView.empty()
@ -24,7 +23,7 @@ import UIKit
// MARK: - Properties // MARK: - Properties
//------------------------------------------------------ //------------------------------------------------------
var bottomTitlePadding: CGFloat = PaddingOne var buttomHeaderPadding: CGFloat = PaddingTwo
//------------------------------------------------------ //------------------------------------------------------
// MARK: - Constraints // MARK: - Constraints
@ -32,7 +31,6 @@ import UIKit
var imageLeadingConstraint: NSLayoutConstraint? var imageLeadingConstraint: NSLayoutConstraint?
var buttonTopConstraint: NSLayoutConstraint? var buttonTopConstraint: NSLayoutConstraint?
var messageTopConstraint: NSLayoutConstraint?
//------------------------------------------------------ //------------------------------------------------------
// MARK: - Initialization // MARK: - Initialization
@ -68,8 +66,7 @@ import UIKit
addSubview(leftContainer) addSubview(leftContainer)
addSubview(imageLoader) addSubview(imageLoader)
leftContainer.addSubview(title) leftContainer.addSubview(header)
leftContainer.addSubview(message)
leftContainer.addSubview(button) leftContainer.addSubview(button)
leftContainer.topAnchor.constraint(equalTo: layoutMarginsGuide.topAnchor).isActive = true leftContainer.topAnchor.constraint(equalTo: layoutMarginsGuide.topAnchor).isActive = true
@ -80,17 +77,11 @@ import UIKit
leftContainerBottom.priority = UILayoutPriority(249) leftContainerBottom.priority = UILayoutPriority(249)
leftContainerBottom.isActive = true leftContainerBottom.isActive = true
title.topAnchor.constraint(equalTo: leftContainer.topAnchor).isActive = true header.topAnchor.constraint(equalTo: leftContainer.topAnchor).isActive = true
title.leadingAnchor.constraint(equalTo: leftContainer.leadingAnchor).isActive = true header.leadingAnchor.constraint(equalTo: leftContainer.leadingAnchor).isActive = true
leftContainer.trailingAnchor.constraint(equalTo: title.trailingAnchor).isActive = true leftContainer.trailingAnchor.constraint(equalTo: header.trailingAnchor).isActive = true
messageTopConstraint = message.topAnchor.constraint(equalTo: title.bottomAnchor, constant: PaddingOne) buttonTopConstraint = button.topAnchor.constraint(equalTo: header.bottomAnchor, constant: PaddingTwo)
messageTopConstraint?.isActive = true
message.leadingAnchor.constraint(equalTo: leftContainer.leadingAnchor).isActive = true
leftContainer.trailingAnchor.constraint(equalTo: message.trailingAnchor).isActive = true
buttonTopConstraint = button.topAnchor.constraint(equalTo: message.bottomAnchor, constant: PaddingTwo)
buttonTopConstraint?.isActive = true buttonTopConstraint?.isActive = true
button.leadingAnchor.constraint(equalTo: leftContainer.leadingAnchor).isActive = true button.leadingAnchor.constraint(equalTo: leftContainer.leadingAnchor).isActive = true
@ -112,15 +103,12 @@ import UIKit
override open func updateView(_ size: CGFloat) { override open func updateView(_ size: CGFloat) {
super.updateView(size) super.updateView(size)
title.updateView(size) header.updateView(size)
message.updateView(size)
button.updateView(size) button.updateView(size)
imageLoader.updateView(size) imageLoader.updateView(size)
leftContainer.updateView(size) leftContainer.updateView(size)
buttonTopConstraint?.constant = header.headlineLabel.hasText || header.messageLabel.hasText ? PaddingTwo : 0
messageTopConstraint?.constant = title.hasText && message.hasText ? bottomTitlePadding : 0
buttonTopConstraint?.constant = message.hasText || title.hasText ? PaddingTwo : 0
} }
public override static func estimatedHeight(forRow json: [AnyHashable: Any]?, delegateObject: MVMCoreUIDelegateObject?) -> CGFloat { public override static func estimatedHeight(forRow json: [AnyHashable: Any]?, delegateObject: MVMCoreUIDelegateObject?) -> CGFloat {
@ -133,20 +121,19 @@ import UIKit
private func setDefaultState() { private func setDefaultState() {
title.font = MFStyler.fontH3() header.headlineLabel.font = MFStyler.fontH3()
message.font = MFStyler.fontB3() header.messageLabel.font = MFStyler.fontB3()
button.setAsSecondaryCustom() button.setAsSecondaryCustom()
button.isHidden = false button.isHidden = false
imageLoader.imageView.contentMode = .scaleAspectFit imageLoader.imageView.contentMode = .scaleAspectFit
imageLoader.addSizeConstraintsForAspectRatio = true imageLoader.addSizeConstraintsForAspectRatio = true
bottomTitlePadding = PaddingOne buttomHeaderPadding = PaddingTwo
} }
override open func reset() { override open func reset() {
super.reset() super.reset()
title.reset() header.reset()
message.reset()
button.reset() button.reset()
imageLeadingConstraint?.constant = 16 imageLeadingConstraint?.constant = 16
imageLoader.reset() imageLoader.reset()
@ -157,8 +144,7 @@ import UIKit
open override func setAsMolecule() { open override func setAsMolecule() {
super.setAsMolecule() super.setAsMolecule()
title.setAsMolecule() header.setAsMolecule()
message.setAsMolecule()
button.setAsMolecule() button.setAsMolecule()
imageLoader.setAsMolecule() imageLoader.setAsMolecule()
@ -171,12 +157,12 @@ import UIKit
guard let dictionary = json else { return } guard let dictionary = json else { return }
if let padding = dictionary.optionalCGFloatForKey("bottomTitlePadding") { if let padding = dictionary.optionalCGFloatForKey("bottomTitlePadding") {
bottomTitlePadding = padding buttomHeaderPadding = padding
} }
title.setWithJSON(dictionary.optionalDictionaryForKey("title"), delegateObject: delegateObject, additionalData: additionalData) header.setWithJSON(dictionary.optionalDictionaryForKey("headlineBody"), delegateObject: delegateObject, additionalData: additionalData)
message.setWithJSON(dictionary.optionalDictionaryForKey("message"), delegateObject: delegateObject, additionalData: additionalData)
imageLoader.setWithJSON(dictionary.optionalDictionaryForKey("image"), delegateObject: delegateObject, additionalData: additionalData) imageLoader.setWithJSON(dictionary.optionalDictionaryForKey("image"), delegateObject: delegateObject, additionalData: additionalData)
if let buttonDictionary = dictionary.optionalDictionaryForKey("button") { if let buttonDictionary = dictionary.optionalDictionaryForKey("button") {
button.setWithJSON(buttonDictionary, delegateObject: delegateObject, additionalData: additionalData) button.setWithJSON(buttonDictionary, delegateObject: delegateObject, additionalData: additionalData)
} else { } else {