blockchainethereumblockchain-walleterc20erc721walletxdaidappdecentralizederc1155erc875iosswifttokens
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
1.2 KiB
38 lines
1.2 KiB
// Copyright SIX DAY LLC. All rights reserved.
|
|
|
|
import Foundation
|
|
import UIKit
|
|
|
|
extension UIColor {
|
|
convenience init(red: Int, green: Int, blue: Int, alpha: CGFloat = 1.0) {
|
|
assert(red >= 0 && red <= 255, "Invalid red component")
|
|
assert(green >= 0 && green <= 255, "Invalid green component")
|
|
assert(blue >= 0 && blue <= 255, "Invalid blue component")
|
|
assert(alpha >= 0 && alpha <= 1.0, "Invalid alpha component")
|
|
|
|
self.init(red: CGFloat(red) / 255.0, green: CGFloat(green) / 255.0, blue: CGFloat(blue) / 255.0, alpha: alpha)
|
|
}
|
|
|
|
convenience init(netHex: Int) {
|
|
self.init(red: (netHex >> 16) & 0xff, green: (netHex >> 8) & 0xff, blue: netHex & 0xff)
|
|
}
|
|
|
|
convenience init(hex: String) {
|
|
let scanner = Scanner(string: hex)
|
|
scanner.scanLocation = 0
|
|
|
|
var rgbValue: UInt64 = 0
|
|
|
|
scanner.scanHexInt64(&rgbValue)
|
|
|
|
let r = (rgbValue & 0xff0000) >> 16
|
|
let g = (rgbValue & 0xff00) >> 8
|
|
let b = rgbValue & 0xff
|
|
|
|
self.init(
|
|
red: CGFloat(r) / 0xff,
|
|
green: CGFloat(g) / 0xff,
|
|
blue: CGFloat(b) / 0xff, alpha: 1
|
|
)
|
|
}
|
|
}
|
|
|