updates made to padding and reset/module functionality.

This commit is contained in:
Kevin G Christiano 2019-08-12 12:47:21 -04:00
parent 57f82aa60a
commit fd8b8fb7b7

View File

@ -24,7 +24,7 @@ import UIKit
// MARK: - Properties
//------------------------------------------------------
var titlePadding: CGFloat = PaddingOne
var bottomTitlePadding: CGFloat = PaddingOne
//------------------------------------------------------
// MARK: - Constraints
@ -64,10 +64,7 @@ import UIKit
guard subviews.isEmpty else { return }
button.setAsSecondaryCustom()
button.isHidden = false
imageLoader.imageView.contentMode = .scaleAspectFit
imageLoader.addSizeConstraintsForAspectRatio = true
setDefaultState()
addSubview(leftContainer)
addSubview(imageLoader)
@ -121,9 +118,11 @@ import UIKit
imageLoader.updateView(size)
leftContainer.updateView(size)
let topPadding = title.hasText ? titlePadding : 0
messageTopConstraint?.constant = topPadding
buttonTopConstraint?.constant = message.hasText ? PaddingTwo : topPadding
let titleMessagePadding = title.hasText ? bottomTitlePadding : 0
let messageButtonPadding = message.hasText ? titleMessagePadding : 0
messageTopConstraint?.constant = messageButtonPadding
buttonTopConstraint?.constant = message.hasText ? PaddingTwo : messageButtonPadding
}
public override static func estimatedHeight(forRow json: [AnyHashable: Any]?, delegateObject: MVMCoreUIDelegateObject?) -> CGFloat {
@ -134,17 +133,38 @@ import UIKit
// MARK: - Methods
//------------------------------------------------------
private func setDefaultState() {
title.font = MFStyler.fontH3()
message.font = MFStyler.fontB3()
button.setAsSecondaryCustom()
button.isHidden = false
imageLoader.imageView.contentMode = .scaleAspectFit
imageLoader.addSizeConstraintsForAspectRatio = true
bottomTitlePadding = PaddingOne
}
override open func reset() {
super.reset()
title.text = ""
message.text = ""
title.reset()
message.reset()
button.reset()
imageLeadingConstraint?.constant = 16
imageLoader.reset()
setDefaultState()
}
open override func setAsMolecule() {
super.setAsMolecule()
title.setAsMolecule()
message.setAsMolecule()
button.setAsMolecule()
imageLoader.setAsMolecule()
setDefaultState()
}
open override func setWithJSON(_ json: [AnyHashable: Any]?, delegateObject: MVMCoreUIDelegateObject?, additionalData: [AnyHashable: Any]?) {
@ -152,8 +172,8 @@ import UIKit
guard let dictionary = json else { return }
if let padding = dictionary.optionalCGFloatForKey("titlePadding") {
titlePadding = padding
if let padding = dictionary.optionalCGFloatForKey("bottomTitlePadding") {
bottomTitlePadding = padding
}
title.setWithJSON(dictionary.optionalDictionaryForKey("title"), delegateObject: delegateObject, additionalData: additionalData)
@ -161,7 +181,6 @@ import UIKit
imageLoader.setWithJSON(dictionary.optionalDictionaryForKey("image"), delegateObject: delegateObject, additionalData: additionalData)
if let buttonDictionary = dictionary.optionalDictionaryForKey("button") {
button.setWithJSON(buttonDictionary, delegateObject: delegateObject, additionalData: additionalData)
button.isHidden = false
} else {
button.isHidden = true
}