Files
2024-09-04 04:26:04 +03:00

113 lines
4.6 KiB
Swift

import UIKit
extension UIColor {
var redValue: CGFloat{ return CIColor(color: self).red }
var greenValue: CGFloat{ return CIColor(color: self).green }
var blueValue: CGFloat{ return CIColor(color: self).blue }
var alphaValue: CGFloat{ return CIColor(color: self).alpha }
static let playFullPanelOld = UIColor(named: "PlayFullPanelOld")!
static let playFullBackground = UIColor(named: "PlayFullBackground")!
static let playFullBackgroundOld = UIColor(named: "PlayFullBackgroundOld")!
static let playlistColor = UIColor(named: "PlaylistColor")!
static let playMusicColor = UIColor(named: "PlayMusicColor")! // red
static let sportColor = UIColor(named: "SportColor")!
}
class Colors {
class func hex(_ hex: Int) -> UIColor {
let mask = 0xFF
let r = CGFloat((hex >> 16) & mask) / 255
let g = CGFloat((hex >> 8) & mask) / 255
let b = CGFloat((hex) & mask) / 255
return UIColor(red: r, green: g, blue: b, alpha: 1)
}
class func hexStr(_ hex: String) -> UIColor {
let input = hex.replacingOccurrences(of: "#", with: "").uppercased()
var a: CGFloat = 1.0, r: CGFloat = 0.0, b: CGFloat = 0.0, g: CGFloat = 0.0
func colorComponent(from string: String, start: Int, length: Int) -> CGFloat {
let substring = (string as NSString).substring(with: NSRange(location: start, length: length))
let fullHex = length == 2 ? substring : "\(substring)\(substring)"
var hexComponent: UInt64 = 0
Scanner(string: fullHex).scanHexInt64(&hexComponent)
return CGFloat(Double(hexComponent) / 255.0)
}
switch (input.count) {
case 3 /* #RGB */:
r = colorComponent(from: input, start: 0, length: 1)
g = colorComponent(from: input, start: 1, length: 1)
b = colorComponent(from: input, start: 2, length: 1)
case 4 /* #ARGB */:
a = colorComponent(from: input, start: 0, length: 1)
r = colorComponent(from: input, start: 1, length: 1)
g = colorComponent(from: input, start: 2, length: 1)
b = colorComponent(from: input, start: 3, length: 1)
case 6 /* #RRGGBB */:
r = colorComponent(from: input, start: 0, length: 2)
g = colorComponent(from: input, start: 2, length: 2)
b = colorComponent(from: input, start: 4, length: 2)
case 8 /* #AARRGGBB */:
a = colorComponent(from: input, start: 0, length: 2)
r = colorComponent(from: input, start: 2, length: 2)
g = colorComponent(from: input, start: 4, length: 2)
b = colorComponent(from: input, start: 6, length: 2)
default:
break
}
return UIColor(red: r, green: g, blue: b, alpha: a)
}
class func rgba( _ red: CGFloat, _ green: CGFloat, _ blue: CGFloat, _ alpha: CGFloat) -> UIColor {
return UIColor(red: red / 255, green: green / 255, blue: blue / 255, alpha: alpha)
}
class func rgb( _ red: CGFloat, _ green: CGFloat, _ blue: CGFloat) -> UIColor {
return rgba(red, green, blue, 1)
}
class func grayLevel(_ gray: CGFloat) -> UIColor {
return rgb(gray * 255, gray * 255, gray * 255)
}
class func blackAlpha(_ alpha: CGFloat) -> UIColor {
return rgba(0, 0, 0, alpha)
}
// MARK: - Properties
static public let lightGray = blackAlpha(0.1)
static public let slightlyDark = blackAlpha(0.3)
static public let halfBlack = blackAlpha(0.5)
static public let black = grayLevel(0) // 0 %
static public let gray = grayLevel(127) // 49 %
static public let lightInactiveGray = grayLevel(178) // 69 %
static public let silver = grayLevel(229) // 89 %
static public let inactiveGray = grayLevel(246) // 96 %
static public let white = grayLevel(255) // 100 %
static public let transparentGray = rgba(225, 225, 225, 0.3)
static public let lightOrange = rgba(255, 105, 0, 0.1)
static public let red = rgb(255, 59, 48)
static public let blue = rgb(44, 174, 233)
static public let yellow = rgb(254, 219, 6)
static public let orange = rgb(255, 105, 0)
static public let purple = rgb(128, 0, 128)
static public let gold = rgb(226, 201, 127)
static public let beige = rgb(245, 245, 220)
static public let brand = rgb(255, 105, 0)
static public let approveGreen = rgb(49, 183, 0)
static public let darkBlue = rgb(74, 144, 226)
static public let semidarkBlue = rgb(0, 107, 202)
static public let darkGray = rgb(142, 142, 147)
static public let lightYellow = rgb(254, 229, 6)
}