top alert margins

This commit is contained in:
Pfeil, Scott Robert 2021-03-30 16:36:08 -04:00
parent b4cfca0cb2
commit 9eb28ff675
5 changed files with 22 additions and 20 deletions

View File

@ -24,8 +24,8 @@ open class CollapsableNotificationModel: NotificationModel {
super.init(with: headline)
}
open override func setDefault() {
super.setDefault()
open override func setDefaults() {
super.setDefaults()
if topLabel.textColor == nil {
topLabel.textColor = Color(uiColor: .white)
}

View File

@ -8,7 +8,7 @@
import Foundation
@objcMembers open class NotificationView: View {
@objcMembers open class NotificationView: Container {
//--------------------------------------------------
// MARK: - Outlets
//--------------------------------------------------
@ -43,19 +43,13 @@ import Foundation
labelStack = Stack<StackModel>.createStack(with: [headline, body], spacing: 0)
horizontalStack = Stack<StackModel>.createStack(with: [(view: labelStack, model: StackItemModel()),(view: button, model: StackItemModel(horizontalAlignment: .fill)),(view: closeButton, model: StackItemModel(horizontalAlignment: .fill))], axis: .horizontal)
addSubview(horizontalStack)
NSLayoutConstraint.constraintPinSubview(horizontalStack, pinTop: true, topConstant: PaddingTwo, pinBottom: true, bottomConstant: PaddingTwo, pinLeft: true, leftConstant: PaddingThree, pinRight: true, rightConstant: PaddingThree)
addAndContain(horizontalStack)
labelStack.restack()
horizontalStack.restack()
heightAnchor.constraint(equalToConstant: Self.viewHeight).isActive = true
}
open override func updateView(_ size: CGFloat) {
super.updateView(size)
horizontalStack.updateView(size)
}
open override func reset() {
super.reset()
backgroundColor = .mvmGreen()

View File

@ -7,7 +7,7 @@
//
open class NotificationModel: MoleculeModelProtocol {
open class NotificationModel: ContainerModel, MoleculeModelProtocol {
//--------------------------------------------------
// MARK: - Properties
//--------------------------------------------------
@ -26,13 +26,19 @@ open class NotificationModel: MoleculeModelProtocol {
public init(with headline: LabelModel) {
self.headline = headline
super.init()
}
//--------------------------------------------------
// MARK: - Default
//--------------------------------------------------
open func setDefault() {
open override func setDefaults() {
useHorizontalMargins = true
useVerticalMargins = true
topPadding = PaddingTwo
bottomPadding = PaddingTwo
if backgroundColor == nil {
backgroundColor = Color(uiColor: .mvmGreen)
}
@ -76,10 +82,10 @@ open class NotificationModel: MoleculeModelProtocol {
body = try typeContainer.decodeIfPresent(LabelModel.self, forKey: .body)
button = try typeContainer.decodeIfPresent(ButtonModel.self, forKey: .button)
closeButton = try typeContainer.decodeIfPresent(NotificationXButtonModel.self, forKey: .closeButton)
setDefault()
super.init()
}
open func encode(to encoder: Encoder) throws {
open override func encode(to encoder: Encoder) throws {
var container = encoder.container(keyedBy: CodingKeys.self)
try container.encode(moleculeName, forKey: .moleculeName)
try container.encodeIfPresent(backgroundColor, forKey: .backgroundColor)

View File

@ -164,18 +164,19 @@
[self.iconView removeFromSuperview];
}
CGFloat horizontalPadding = [MFStyler defaultHorizontalPaddingForApplicationWidth];
if (imageURL) {
LoadImageView *imageView = [[LoadImageView alloc] init];
imageView.translatesAutoresizingMaskIntoConstraints = NO;
[imageView setContentCompressionResistancePriority:UILayoutPriorityDefaultHigh forAxis:UILayoutConstraintAxisHorizontal];
[self addSubview:imageView];
[NSLayoutConstraint activateConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|->=space-[imageView]->=space-|" options:NSLayoutFormatDirectionLeadingToTrailing metrics:@{@"space":@(PaddingFive)} views:NSDictionaryOfVariableBindings(imageView)]];
[NSLayoutConstraint activateConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-space-[imageView]-space-[centerView]" options:NSLayoutFormatDirectionLeadingToTrailing metrics:@{@"space":@(PaddingThree)} views:NSDictionaryOfVariableBindings(imageView,centerView)]];
[NSLayoutConstraint activateConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-space-[imageView]-space-[centerView]" options:NSLayoutFormatDirectionLeadingToTrailing metrics:@{@"space":@(horizontalPadding)} views:NSDictionaryOfVariableBindings(imageView,centerView)]];
[NSLayoutConstraint constraintWithItem:imageView attribute:NSLayoutAttributeCenterY relatedBy:NSLayoutRelationEqual toItem:self attribute:NSLayoutAttributeCenterY multiplier:1.0 constant:0].active = YES;
self.iconView = imageView;
[imageView loadImageWithName:imageURL width:@(32)];
} else {
[NSLayoutConstraint constraintWithItem:centerView attribute:NSLayoutAttributeLeft relatedBy:NSLayoutRelationEqual toItem:self attribute:NSLayoutAttributeLeft multiplier:1 constant:PaddingThree].active = YES;
[NSLayoutConstraint constraintWithItem:centerView attribute:NSLayoutAttributeLeft relatedBy:NSLayoutRelationEqual toItem:self attribute:NSLayoutAttributeLeft multiplier:1 constant:horizontalPadding].active = YES;
}
}
@ -193,6 +194,7 @@
- (void)setupWithButton:(BOOL)showButton {
// Setup the button.
CGFloat horizontalPadding = [MFStyler defaultHorizontalPaddingForApplicationWidth];
if (showButton) {
if (!self.button) {
@ -210,7 +212,7 @@
[self addSubview:button];
[NSLayoutConstraint constraintWithItem:button attribute:NSLayoutAttributeCenterY relatedBy:NSLayoutRelationEqual toItem:self attribute:NSLayoutAttributeCenterY multiplier:1.0 constant:0].active = YES;
[NSLayoutConstraint constraintWithItem:button attribute:NSLayoutAttributeLeft relatedBy:NSLayoutRelationEqual toItem:self.centerView attribute:NSLayoutAttributeRight multiplier:1 constant:PaddingThree].active = YES;
[NSLayoutConstraint constraintWithItem:self attribute:NSLayoutAttributeRight relatedBy:NSLayoutRelationEqual toItem:button attribute:NSLayoutAttributeRight multiplier:1 constant:(self.closeButton ? PaddingTen : PaddingFive)].active = YES;
[NSLayoutConstraint constraintWithItem:self attribute:NSLayoutAttributeRight relatedBy:NSLayoutRelationEqual toItem:button attribute:NSLayoutAttributeRight multiplier:1 constant:(self.closeButton ? PaddingTen : horizontalPadding)].active = YES;
self.button = button;
}
} else {
@ -222,7 +224,7 @@
}
if (!self.labelRightConstraint) {
self.labelRightConstraint = [NSLayoutConstraint constraintWithItem:self attribute:NSLayoutAttributeRight relatedBy:NSLayoutRelationEqual toItem:self.centerView attribute:NSLayoutAttributeRight multiplier:1 constant:(self.closeButton ? PaddingTen : PaddingFive)];
self.labelRightConstraint = [NSLayoutConstraint constraintWithItem:self attribute:NSLayoutAttributeRight relatedBy:NSLayoutRelationEqual toItem:self.centerView attribute:NSLayoutAttributeRight multiplier:1 constant:(self.closeButton ? PaddingTen : horizontalPadding)];
}
self.labelRightConstraint.active = YES;
}

View File

@ -23,11 +23,11 @@ public extension MVMCoreUICommonViewsUtility {
view.addSubview(button)
var constraints: [NSLayoutConstraint] = []
if centeredVertically {
constraints.append(view.rightAnchor.constraint(equalTo: button.rightAnchor, constant: PaddingTwo))
constraints.append(view.rightAnchor.constraint(equalTo: button.rightAnchor, constant: Padding.Component.horizontalPaddingForApplicationWidth))
constraints.append(view.centerYAnchor.constraint(equalTo: button.centerYAnchor))
} else {
constraints.append(button.topAnchor.constraint(equalTo: view.safeAreaLayoutGuide.topAnchor, constant: PaddingOne))
constraints.append(view.safeAreaLayoutGuide.rightAnchor.constraint(equalTo: button.rightAnchor, constant: PaddingTwo))
constraints.append(view.safeAreaLayoutGuide.rightAnchor.constraint(equalTo: button.rightAnchor, constant: Padding.Component.horizontalPaddingForApplicationWidth))
}
NSLayoutConstraint.activate(constraints)
return button