Changed code to align with Android.
This commit is contained in:
parent
b65cb3ed5c
commit
248ee9a0d4
@ -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 {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user