From 248ee9a0d4e9a6fe3131d407f3f3f549f8f490fa Mon Sep 17 00:00:00 2001 From: Kevin G Christiano Date: Wed, 14 Aug 2019 10:05:44 -0400 Subject: [PATCH 1/4] Changed code to align with Android. --- .../Molecules/ActionDetailWithImage.swift | 50 +++++++------------ 1 file changed, 18 insertions(+), 32 deletions(-) diff --git a/MVMCoreUI/Molecules/ActionDetailWithImage.swift b/MVMCoreUI/Molecules/ActionDetailWithImage.swift index 4792dbd6..3804ed00 100644 --- a/MVMCoreUI/Molecules/ActionDetailWithImage.swift +++ b/MVMCoreUI/Molecules/ActionDetailWithImage.swift @@ -14,8 +14,7 @@ import UIKit // MARK: - Outlets //------------------------------------------------------ - let title = Label.commonLabelH3(true) - let message = Label.commonLabelB3(true) + let header = HeadlineBody(frame: .zero) let button = PrimaryButton.primaryTinyButton(false)! let imageLoader = MFLoadImageView(pinnedEdges: .all) let leftContainer = ViewConstrainingView.empty() @@ -24,7 +23,7 @@ import UIKit // MARK: - Properties //------------------------------------------------------ - var bottomTitlePadding: CGFloat = PaddingOne + var buttomHeaderPadding: CGFloat = PaddingTwo //------------------------------------------------------ // MARK: - Constraints @@ -32,7 +31,6 @@ import UIKit var imageLeadingConstraint: NSLayoutConstraint? var buttonTopConstraint: NSLayoutConstraint? - var messageTopConstraint: NSLayoutConstraint? //------------------------------------------------------ // MARK: - Initialization @@ -68,8 +66,7 @@ import UIKit addSubview(leftContainer) addSubview(imageLoader) - leftContainer.addSubview(title) - leftContainer.addSubview(message) + leftContainer.addSubview(header) leftContainer.addSubview(button) leftContainer.topAnchor.constraint(equalTo: layoutMarginsGuide.topAnchor).isActive = true @@ -80,17 +77,11 @@ import UIKit leftContainerBottom.priority = UILayoutPriority(249) leftContainerBottom.isActive = true - title.topAnchor.constraint(equalTo: leftContainer.topAnchor).isActive = true - title.leadingAnchor.constraint(equalTo: leftContainer.leadingAnchor).isActive = true - leftContainer.trailingAnchor.constraint(equalTo: title.trailingAnchor).isActive = true - - messageTopConstraint = message.topAnchor.constraint(equalTo: title.bottomAnchor, constant: PaddingOne) - 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) + header.topAnchor.constraint(equalTo: leftContainer.topAnchor).isActive = true + header.leadingAnchor.constraint(equalTo: leftContainer.leadingAnchor).isActive = true + leftContainer.trailingAnchor.constraint(equalTo: header.trailingAnchor).isActive = true + + buttonTopConstraint = button.topAnchor.constraint(equalTo: header.bottomAnchor, constant: PaddingTwo) buttonTopConstraint?.isActive = true button.leadingAnchor.constraint(equalTo: leftContainer.leadingAnchor).isActive = true @@ -112,15 +103,12 @@ import UIKit override open func updateView(_ size: CGFloat) { super.updateView(size) - title.updateView(size) - message.updateView(size) + header.updateView(size) button.updateView(size) imageLoader.updateView(size) leftContainer.updateView(size) - - messageTopConstraint?.constant = title.hasText && message.hasText ? bottomTitlePadding : 0 - buttonTopConstraint?.constant = message.hasText || title.hasText ? PaddingTwo : 0 + buttonTopConstraint?.constant = header.headlineLabel.hasText || header.messageLabel.hasText ? PaddingTwo : 0 } public override static func estimatedHeight(forRow json: [AnyHashable: Any]?, delegateObject: MVMCoreUIDelegateObject?) -> CGFloat { @@ -133,20 +121,19 @@ import UIKit private func setDefaultState() { - title.font = MFStyler.fontH3() - message.font = MFStyler.fontB3() + header.headlineLabel.font = MFStyler.fontH3() + header.messageLabel.font = MFStyler.fontB3() button.setAsSecondaryCustom() button.isHidden = false imageLoader.imageView.contentMode = .scaleAspectFit imageLoader.addSizeConstraintsForAspectRatio = true - bottomTitlePadding = PaddingOne + buttomHeaderPadding = PaddingTwo } override open func reset() { super.reset() - title.reset() - message.reset() + header.reset() button.reset() imageLeadingConstraint?.constant = 16 imageLoader.reset() @@ -157,8 +144,7 @@ import UIKit open override func setAsMolecule() { super.setAsMolecule() - title.setAsMolecule() - message.setAsMolecule() + header.setAsMolecule() button.setAsMolecule() imageLoader.setAsMolecule() @@ -171,12 +157,12 @@ import UIKit guard let dictionary = json else { return } if let padding = dictionary.optionalCGFloatForKey("bottomTitlePadding") { - bottomTitlePadding = padding + buttomHeaderPadding = padding } - title.setWithJSON(dictionary.optionalDictionaryForKey("title"), delegateObject: delegateObject, additionalData: additionalData) - message.setWithJSON(dictionary.optionalDictionaryForKey("message"), delegateObject: delegateObject, additionalData: additionalData) + header.setWithJSON(dictionary.optionalDictionaryForKey("headlineBody"), delegateObject: delegateObject, additionalData: additionalData) imageLoader.setWithJSON(dictionary.optionalDictionaryForKey("image"), delegateObject: delegateObject, additionalData: additionalData) + if let buttonDictionary = dictionary.optionalDictionaryForKey("button") { button.setWithJSON(buttonDictionary, delegateObject: delegateObject, additionalData: additionalData) } else { From 4f47aa9ad5937414f0475955fed91dd9138046cc Mon Sep 17 00:00:00 2001 From: Kevin G Christiano Date: Thu, 29 Aug 2019 10:52:20 -0400 Subject: [PATCH 2/4] changed key. --- MVMCoreUI/Molecules/ActionDetailWithImage.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MVMCoreUI/Molecules/ActionDetailWithImage.swift b/MVMCoreUI/Molecules/ActionDetailWithImage.swift index 3804ed00..6162fbc7 100644 --- a/MVMCoreUI/Molecules/ActionDetailWithImage.swift +++ b/MVMCoreUI/Molecules/ActionDetailWithImage.swift @@ -156,7 +156,7 @@ import UIKit guard let dictionary = json else { return } - if let padding = dictionary.optionalCGFloatForKey("bottomTitlePadding") { + if let padding = dictionary.optionalCGFloatForKey("buttomHeaderPadding") { buttomHeaderPadding = padding } From 8e216f8b9024841adcfa74a8716d31a021ccc281 Mon Sep 17 00:00:00 2001 From: Kevin G Christiano Date: Thu, 29 Aug 2019 14:13:44 -0400 Subject: [PATCH 3/4] Corrections made. --- MVMCoreUI/Molecules/ActionDetailWithImage.swift | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/MVMCoreUI/Molecules/ActionDetailWithImage.swift b/MVMCoreUI/Molecules/ActionDetailWithImage.swift index 6162fbc7..eb46bdc8 100644 --- a/MVMCoreUI/Molecules/ActionDetailWithImage.swift +++ b/MVMCoreUI/Molecules/ActionDetailWithImage.swift @@ -23,7 +23,7 @@ import UIKit // MARK: - Properties //------------------------------------------------------ - var buttomHeaderPadding: CGFloat = PaddingTwo + var buttonHeaderPadding: CGFloat = PaddingTwo //------------------------------------------------------ // MARK: - Constraints @@ -81,7 +81,7 @@ import UIKit header.leadingAnchor.constraint(equalTo: leftContainer.leadingAnchor).isActive = true leftContainer.trailingAnchor.constraint(equalTo: header.trailingAnchor).isActive = true - buttonTopConstraint = button.topAnchor.constraint(equalTo: header.bottomAnchor, constant: PaddingTwo) + buttonTopConstraint = button.topAnchor.constraint(equalTo: header.bottomAnchor, constant: buttonHeaderPadding) buttonTopConstraint?.isActive = true button.leadingAnchor.constraint(equalTo: leftContainer.leadingAnchor).isActive = true @@ -107,8 +107,8 @@ import UIKit button.updateView(size) imageLoader.updateView(size) leftContainer.updateView(size) - - buttonTopConstraint?.constant = header.headlineLabel.hasText || header.messageLabel.hasText ? PaddingTwo : 0 + + buttonTopConstraint?.constant = header.hasText() ? PaddingTwo : 0 } public override static func estimatedHeight(forRow json: [AnyHashable: Any]?, delegateObject: MVMCoreUIDelegateObject?) -> CGFloat { @@ -127,7 +127,7 @@ import UIKit button.isHidden = false imageLoader.imageView.contentMode = .scaleAspectFit imageLoader.addSizeConstraintsForAspectRatio = true - buttomHeaderPadding = PaddingTwo + buttonHeaderPadding = PaddingTwo } override open func reset() { @@ -156,8 +156,8 @@ import UIKit guard let dictionary = json else { return } - if let padding = dictionary.optionalCGFloatForKey("buttomHeaderPadding") { - buttomHeaderPadding = padding + if let padding = dictionary.optionalCGFloatForKey("buttonHeaderPadding") { + buttonHeaderPadding = padding } header.setWithJSON(dictionary.optionalDictionaryForKey("headlineBody"), delegateObject: delegateObject, additionalData: additionalData) From 2792808c9eb585b9f9c92b99a125af0009b7d502 Mon Sep 17 00:00:00 2001 From: Kevin G Christiano Date: Thu, 29 Aug 2019 14:20:42 -0400 Subject: [PATCH 4/4] Further changes made. --- MVMCoreUI/Molecules/ActionDetailWithImage.swift | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/MVMCoreUI/Molecules/ActionDetailWithImage.swift b/MVMCoreUI/Molecules/ActionDetailWithImage.swift index eb46bdc8..ec91c479 100644 --- a/MVMCoreUI/Molecules/ActionDetailWithImage.swift +++ b/MVMCoreUI/Molecules/ActionDetailWithImage.swift @@ -108,7 +108,7 @@ import UIKit imageLoader.updateView(size) leftContainer.updateView(size) - buttonTopConstraint?.constant = header.hasText() ? PaddingTwo : 0 + buttonTopConstraint?.constant = header.hasText() ? buttonHeaderPadding : 0 } public override static func estimatedHeight(forRow json: [AnyHashable: Any]?, delegateObject: MVMCoreUIDelegateObject?) -> CGFloat { @@ -137,7 +137,6 @@ import UIKit button.reset() imageLeadingConstraint?.constant = 16 imageLoader.reset() - setDefaultState() } @@ -147,7 +146,6 @@ import UIKit header.setAsMolecule() button.setAsMolecule() imageLoader.setAsMolecule() - setDefaultState() }