From e512195cc6f2cd8b74fe5c0f26071cc9317d906c Mon Sep 17 00:00:00 2001 From: Aleksey Belousov Date: Wed, 16 May 2018 00:29:24 +0300 Subject: [PATCH] [ios] Update Facebook button disabled state, refactoring --- iphone/Maps/Categories/UIColor+MapsMeColor.h | 4 ++- iphone/Maps/Categories/UIColor+MapsMeColor.mm | 25 ++++--------------- .../Categories/UIColor+Modifications.swift | 21 ++++++++++++++++ .../AuthorizationViewController.swift | 2 ++ 4 files changed, 31 insertions(+), 21 deletions(-) diff --git a/iphone/Maps/Categories/UIColor+MapsMeColor.h b/iphone/Maps/Categories/UIColor+MapsMeColor.h index 921d3127ca..6f3ef9a4b5 100644 --- a/iphone/Maps/Categories/UIColor+MapsMeColor.h +++ b/iphone/Maps/Categories/UIColor+MapsMeColor.h @@ -55,6 +55,8 @@ + (BOOL)isNightMode; - (UIColor *)opposite; -- (UIColor *)colorByBlendingWithColor:(UIColor * _Nonnull)color; + ++ (UIColor *)facebookButtonBackground; ++ (UIColor *)facebookButtonBackgroundDisabled; @end diff --git a/iphone/Maps/Categories/UIColor+MapsMeColor.mm b/iphone/Maps/Categories/UIColor+MapsMeColor.mm index ec8e5bfe3f..ba47653e27 100644 --- a/iphone/Maps/Categories/UIColor+MapsMeColor.mm +++ b/iphone/Maps/Categories/UIColor+MapsMeColor.mm @@ -378,26 +378,11 @@ UIColor * color(SEL cmd) #pragma clang diagnostic pop } -- (UIColor *)colorByBlendingWithColor:(UIColor *)color { - CGFloat bgR; - CGFloat bgG; - CGFloat bgB; - CGFloat bgA; - - CGFloat fgR; - CGFloat fgG; - CGFloat fgB; - CGFloat fgA; - - [self getRed:&bgR green:&bgG blue:&bgB alpha:&bgA]; - [color getRed:&fgR green:&fgG blue:&fgB alpha:&fgA]; - - CGFloat r = fgA * fgR + (1 - fgA) * bgR; - CGFloat g = fgA * fgG + (1 - fgA) * bgG; - CGFloat b = fgA * fgB + (1 - fgA) * bgB; - - return [UIColor colorWithRed:r green:g blue:b alpha:bgA]; ++ (UIColor *)facebookButtonBackground { + return [UIColor colorWithRed:scaled(59) green:scaled(89) blue:scaled(152) alpha:alpha100]; } - ++ (UIColor *)facebookButtonBackgroundDisabled { + return [self.facebookButtonBackground colorWithAlphaComponent:.7]; +} @end diff --git a/iphone/Maps/Categories/UIColor+Modifications.swift b/iphone/Maps/Categories/UIColor+Modifications.swift index 98658eb046..7888b204b5 100644 --- a/iphone/Maps/Categories/UIColor+Modifications.swift +++ b/iphone/Maps/Categories/UIColor+Modifications.swift @@ -1,4 +1,25 @@ extension UIColor { + func blending(with color: UIColor) -> UIColor { + var bgR: CGFloat = 0 + var bgG: CGFloat = 0 + var bgB: CGFloat = 0 + var bgA: CGFloat = 0 + + var fgR: CGFloat = 0 + var fgG: CGFloat = 0 + var fgB: CGFloat = 0 + var fgA: CGFloat = 0 + + self.getRed(&bgR, green: &bgG, blue: &bgB, alpha: &bgA) + color.getRed(&fgR, green: &fgG, blue: &fgB, alpha: &fgA) + + let r = fgA * fgR + (1 - fgA) * bgR + let g = fgA * fgG + (1 - fgA) * bgG + let b = fgA * fgB + (1 - fgA) * bgB + + return UIColor(red: r, green: g, blue: b, alpha: bgA) + } + func lighter(percent: CGFloat) -> UIColor { return colorWithBrightnessFactor(factor: 1 + percent) } diff --git a/iphone/Maps/UI/Authorization/AuthorizationViewController.swift b/iphone/Maps/UI/Authorization/AuthorizationViewController.swift index 255ec7a771..b7e9104290 100644 --- a/iphone/Maps/UI/Authorization/AuthorizationViewController.swift +++ b/iphone/Maps/UI/Authorization/AuthorizationViewController.swift @@ -88,6 +88,8 @@ final class AuthorizationViewController: MWMViewController { facebookButton.layer.cornerRadius = 8 facebookButton.clipsToBounds = true facebookButton.titleLabel?.font = UIFont.bold14() + facebookButton.setBackgroundColor(UIColor.facebookButtonBackground(), for: .normal) + facebookButton.setBackgroundColor(UIColor.facebookButtonBackgroundDisabled(), for: .disabled) facebookButton.isEnabled = false } }