latest iteration.

This commit is contained in:
Kevin G Christiano 2019-06-24 16:04:06 -04:00
parent ba84d2780d
commit 569ae1481c
2 changed files with 17 additions and 14 deletions

View File

@ -16,14 +16,10 @@ import UIKit
let title = Label.commonLabelH3(true) let title = Label.commonLabelH3(true)
let message = Label.commonLabelB3(true) let message = Label.commonLabelB3(true)
let button = ButtonView(frame: .zero) let button = PrimaryButton.primaryTinyButton(false)!
let imageloader = MFLoadImageView() let imageloader = MFLoadImageView()
let leftContainer = ViewConstrainingView.empty() let leftContainer = ViewConstrainingView.empty()
//------------------------------------------------------
// MARK: - Constraints
//------------------------------------------------------
//------------------------------------------------------ //------------------------------------------------------
// MARK: - Initialization // MARK: - Initialization
//------------------------------------------------------ //------------------------------------------------------
@ -54,17 +50,18 @@ import UIKit
guard subviews.isEmpty else { return } guard subviews.isEmpty else { return }
button.setAsSecondaryCustom()
addSubview(leftContainer) addSubview(leftContainer)
leftContainer.addSubview(title) leftContainer.addSubview(title)
leftContainer.addSubview(message) leftContainer.addSubview(message)
leftContainer.addSubview(button) leftContainer.addSubview(button)
addSubview(imageloader) addSubview(imageloader)
imageloader.imageView.contentMode = .scaleAspectFit
imageloader.translatesAutoresizingMaskIntoConstraints = false imageloader.translatesAutoresizingMaskIntoConstraints = false
button.translatesAutoresizingMaskIntoConstraints = false button.translatesAutoresizingMaskIntoConstraints = false
imageloader.imageView.contentMode = .scaleAspectFit
leftContainer.topAnchor.constraint(equalTo: topAnchor).isActive = true leftContainer.topAnchor.constraint(equalTo: topAnchor).isActive = true
leftContainer.leadingAnchor.constraint(equalTo: layoutMarginsGuide.leadingAnchor).isActive = true leftContainer.leadingAnchor.constraint(equalTo: layoutMarginsGuide.leadingAnchor).isActive = true
@ -76,28 +73,25 @@ import UIKit
title.topAnchor.constraint(equalTo: topAnchor).isActive = true title.topAnchor.constraint(equalTo: topAnchor).isActive = true
title.leadingAnchor.constraint(equalTo: leftContainer.leadingAnchor).isActive = true title.leadingAnchor.constraint(equalTo: leftContainer.leadingAnchor).isActive = true
title.widthAnchor.constraint(equalTo: leftContainer.widthAnchor).isActive = true title.widthAnchor.constraint(equalTo: leftContainer.widthAnchor).isActive = true
message.topAnchor.constraint(equalTo: title.bottomAnchor, constant: 6).isActive = true message.topAnchor.constraint(equalTo: title.bottomAnchor, constant: 6).isActive = true
message.leadingAnchor.constraint(equalTo: leftContainer.leadingAnchor).isActive = true message.leadingAnchor.constraint(equalTo: leftContainer.leadingAnchor).isActive = true
message.widthAnchor.constraint(equalTo: leftContainer.widthAnchor).isActive = true message.widthAnchor.constraint(equalTo: leftContainer.widthAnchor).isActive = true
imageloader.centerYAnchor.constraint(equalTo: centerYAnchor).isActive = true imageloader.centerYAnchor.constraint(equalTo: centerYAnchor).isActive = true
layoutMarginsGuide.trailingAnchor.constraint(equalTo: imageloader.trailingAnchor).isActive = true layoutMarginsGuide.trailingAnchor.constraint(equalTo: imageloader.trailingAnchor).isActive = true
imageloader.topAnchor.constraint(greaterThanOrEqualTo: topAnchor).isActive = true imageloader.topAnchor.constraint(greaterThanOrEqualTo: topAnchor).isActive = true
imageloader.leadingAnchor.constraint(equalTo: leftContainer.trailingAnchor, constant: 16).isActive = true
bottomAnchor.constraint(greaterThanOrEqualTo: imageloader.bottomAnchor).isActive = true
let imageloaderBottom = imageloader.bottomAnchor.constraint(equalTo: bottomAnchor) let imageloaderBottom = imageloader.bottomAnchor.constraint(equalTo: bottomAnchor)
imageloaderBottom.priority = UILayoutPriority(249) imageloaderBottom.priority = UILayoutPriority(249)
imageloaderBottom.isActive = true imageloaderBottom.isActive = true
bottomAnchor.constraint(greaterThanOrEqualTo: imageloader.bottomAnchor).isActive = true
imageloader.leadingAnchor.constraint(equalTo: leftContainer.trailingAnchor, constant: 16).isActive = true
button.topAnchor.constraint(equalTo: message.bottomAnchor, constant: 12).isActive = true button.topAnchor.constraint(equalTo: message.bottomAnchor, constant: 12).isActive = true
button.leadingAnchor.constraint(equalTo: leftContainer.leadingAnchor).isActive = true button.leadingAnchor.constraint(equalTo: leftContainer.leadingAnchor).isActive = true
button.bottomAnchor.constraint(equalTo: leftContainer.bottomAnchor).isActive = true
title.setContentHuggingPriority(UILayoutPriority(rawValue: 901), for: .horizontal) title.setContentHuggingPriority(UILayoutPriority(rawValue: 901), for: .horizontal)
message.setContentHuggingPriority(UILayoutPriority(rawValue: 902), for: .horizontal) message.setContentHuggingPriority(UILayoutPriority(rawValue: 902), for: .horizontal)
@ -107,10 +101,18 @@ import UIKit
title.setContentCompressionResistancePriority(.required, for: .vertical) title.setContentCompressionResistancePriority(.required, for: .vertical)
message.setContentCompressionResistancePriority(.required, for: .vertical) message.setContentCompressionResistancePriority(.required, for: .vertical)
imageloader.imageView.setContentCompressionResistancePriority(.required, for: .vertical)
} }
override open func updateView(_ size: CGFloat) { override open func updateView(_ size: CGFloat) {
super.updateView(size) super.updateView(size)
title.updateView(size)
message.updateView(size)
button.updateView(size)
imageloader.updateView(size)
leftContainer.updateView(size)
} }
override open func reset() { override open func reset() {

View File

@ -43,7 +43,8 @@
@"listItem": MoleculeTableViewCell.class, @"listItem": MoleculeTableViewCell.class,
@"switchLineItem": SwitchLineItem.class, @"switchLineItem": SwitchLineItem.class,
@"switch": Switch.class, @"switch": Switch.class,
@"leftRightLabelView": LeftRightLabelView.class @"leftRightLabelView": LeftRightLabelView.class,
@"standardListItemWithImage": StandardListItemWithImage.class
} mutableCopy]; } mutableCopy];
}); });
return mapping; return mapping;