Merge branch 'bugfix/top_notification' into 'develop'
fixes for notification button See merge request BPHV_MIPS/mvm_core_ui!425
This commit is contained in:
commit
105ed8e320
@ -26,6 +26,22 @@ open class PillButton: Button, MVMCoreUIViewConstrainingProtocol {
|
|||||||
didSet { style() }
|
didSet { style() }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
open var buttonSize: Styler.Button.Size = .standard {
|
||||||
|
didSet {
|
||||||
|
buttonModel?.size = buttonSize
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------
|
||||||
|
// MARK: - Initializers
|
||||||
|
//--------------------------------------------------
|
||||||
|
|
||||||
|
@objc public convenience init(asPrimaryButton isPrimary: Bool, makeTiny istiny: Bool) {
|
||||||
|
self.init()
|
||||||
|
buttonSize = istiny ? .tiny : .standard
|
||||||
|
isPrimary ? stylePrimary() : styleSecondary()
|
||||||
|
}
|
||||||
|
|
||||||
//--------------------------------------------------
|
//--------------------------------------------------
|
||||||
// MARK: - Computed Properties
|
// MARK: - Computed Properties
|
||||||
//--------------------------------------------------
|
//--------------------------------------------------
|
||||||
@ -116,7 +132,7 @@ open class PillButton: Button, MVMCoreUIViewConstrainingProtocol {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private func getHeight() -> CGFloat {
|
private func getHeight() -> CGFloat {
|
||||||
PillButton.getHeight(for: buttonModel?.size, size: size)
|
PillButton.getHeight(for: buttonSize, size: size)
|
||||||
}
|
}
|
||||||
|
|
||||||
public static func getHeight(for buttonSize: Styler.Button.Size?, size: CGFloat) -> CGFloat {
|
public static func getHeight(for buttonSize: Styler.Button.Size?, size: CGFloat) -> CGFloat {
|
||||||
@ -138,7 +154,7 @@ open class PillButton: Button, MVMCoreUIViewConstrainingProtocol {
|
|||||||
|
|
||||||
private func getMinimumWidth() -> CGFloat {
|
private func getMinimumWidth() -> CGFloat {
|
||||||
|
|
||||||
switch buttonModel?.size {
|
switch buttonSize {
|
||||||
case .tiny:
|
case .tiny:
|
||||||
return MFSizeObject(standardSize: 49,
|
return MFSizeObject(standardSize: 49,
|
||||||
standardiPadPortraitSize: 90,
|
standardiPadPortraitSize: 90,
|
||||||
@ -165,7 +181,9 @@ open class PillButton: Button, MVMCoreUIViewConstrainingProtocol {
|
|||||||
|
|
||||||
guard let model = model as? ButtonModel else { return }
|
guard let model = model as? ButtonModel else { return }
|
||||||
setTitle(model.title, for: .normal)
|
setTitle(model.title, for: .normal)
|
||||||
|
if let size = model.size {
|
||||||
|
buttonSize = size
|
||||||
|
}
|
||||||
model.updateUI = { [weak self] in
|
model.updateUI = { [weak self] in
|
||||||
MVMCoreDispatchUtility.performBlock(onMainThread: {
|
MVMCoreDispatchUtility.performBlock(onMainThread: {
|
||||||
self?.enableField(model.enabled)
|
self?.enableField(model.enabled)
|
||||||
@ -185,7 +203,7 @@ open class PillButton: Button, MVMCoreUIViewConstrainingProtocol {
|
|||||||
|
|
||||||
invalidateIntrinsicContentSize()
|
invalidateIntrinsicContentSize()
|
||||||
|
|
||||||
switch buttonModel?.size {
|
switch buttonSize {
|
||||||
case .tiny:
|
case .tiny:
|
||||||
titleLabel?.font = MFFonts.mfFont75Bd(11 * (intrinsicContentSize.height / Styler.Button.Size.tiny.getHeight()))
|
titleLabel?.font = MFFonts.mfFont75Bd(11 * (intrinsicContentSize.height / Styler.Button.Size.tiny.getHeight()))
|
||||||
|
|
||||||
|
|||||||
@ -188,14 +188,13 @@
|
|||||||
self.labelRightConstraint.active = NO;
|
self.labelRightConstraint.active = NO;
|
||||||
|
|
||||||
// Sets up to use a button action. Always uses the top view controller
|
// Sets up to use a button action. Always uses the top view controller
|
||||||
PillButton *button = [[PillButton alloc] init];
|
PillButton *button = [[PillButton alloc] initAsPrimaryButton:false makeTiny:true];
|
||||||
[button styleSecondary];
|
[button styleSecondary];
|
||||||
[button setContentCompressionResistancePriority:UILayoutPriorityDefaultHigh forAxis:UILayoutConstraintAxisHorizontal];
|
[button setContentCompressionResistancePriority:UILayoutPriorityDefaultHigh forAxis:UILayoutConstraintAxisHorizontal];
|
||||||
[button setContentHuggingPriority:800 forAxis:UILayoutConstraintAxisHorizontal];
|
[button setContentHuggingPriority:800 forAxis:UILayoutConstraintAxisHorizontal];
|
||||||
|
|
||||||
button.translatesAutoresizingMaskIntoConstraints = NO;
|
button.translatesAutoresizingMaskIntoConstraints = NO;
|
||||||
[self addSubview:button];
|
[self addSubview:button];
|
||||||
[NSLayoutConstraint activateConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|->=space-[button]->=space-|" options:NSLayoutFormatDirectionLeadingToTrailing metrics:@{@"space":@(PaddingFive)} views:NSDictionaryOfVariableBindings(button)]];
|
|
||||||
[NSLayoutConstraint constraintWithItem:button attribute:NSLayoutAttributeCenterY relatedBy:NSLayoutRelationEqual toItem:self attribute:NSLayoutAttributeCenterY multiplier:1.0 constant:0].active = YES;
|
[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: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 : PaddingFive)].active = YES;
|
||||||
|
|||||||
@ -160,6 +160,7 @@ NSString * const MFAccTopAlertClosed = @"Top alert notification is closed.";
|
|||||||
UIColor *statusBarColor = nil;
|
UIColor *statusBarColor = nil;
|
||||||
UIStatusBarStyle statusBarStyle = UIStatusBarStyleDefault;
|
UIStatusBarStyle statusBarStyle = UIStatusBarStyleDefault;
|
||||||
MVMCoreUITopAlertBaseView *view = [self topAlertViewForTopAlertObject:topAlertObject animationDelegate:animationDelegate statusBarColor:&statusBarColor statusBarStyle:&statusBarStyle];
|
MVMCoreUITopAlertBaseView *view = [self topAlertViewForTopAlertObject:topAlertObject animationDelegate:animationDelegate statusBarColor:&statusBarColor statusBarStyle:&statusBarStyle];
|
||||||
|
[view updateView:CGRectGetWidth(self.bounds)];
|
||||||
if (!statusBarColor) {
|
if (!statusBarColor) {
|
||||||
statusBarColor = [UIColor whiteColor];
|
statusBarColor = [UIColor whiteColor];
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user