난 그냥 이런 식으로 일을 불편이 표시되지 않는 :
let myCustomColorHSBa = UIColor(hue: 120/360, saturation: 0.25 , brightness: 1.0 , alpha: 1)
let myCustomColorRGBa = UIColor(red: 191/255, green: 1, blue: 191/255, alpha: 1)
을하지만 당신이 정말로 일을해야하는 경우는 다음과 같이 수행 할 수 있습니다
extension UIColor {
convenience init(red: Int = 0, green: Int = 0, blue: Int = 0, opacity: Int = 255) {
precondition(0...255 ~= red &&
0...255 ~= green &&
0...255 ~= blue &&
0...255 ~= opacity, "input range is out of range 0...255")
self.init(red: CGFloat(red)/255, green: CGFloat(green)/255, blue: CGFloat(blue)/255, alpha: CGFloat(opacity)/255)
}
}
UIColor(red: 255) // r 1.0 g 0.0 b 0.0 a 1.0 (Red)
UIColor(red: 255, green: 255) // r 1.0 g 1.0 b 0.0 a 1.0 (Yellow)
UIColor(red: 255, blue: 255) // r 1.0 g 0.0 b 1.0 a 1.0 (Magenta)
UIColor(green: 255) // r 0.0 g 1.0 b 0.0 a 1.0 (Green)
UIColor(green: 255, blue: 255) // r 0.0 g 1.0 b 1.0 a 1.0 (Cyan)
UIColor(blue: 255) // r 0.0 g 0.0 b 1.0 a 1.0 (Blue)
UIColor(red: 255, green: 192, blue: 203) // r 1.0 g 0.753 b 0.796 a 1.0 (Pink)
UIColor(red: 255, green: 215) // r 1.0 g 0.843 b 0.0 a 1.0 (Gold)
여기의 트릭은 편의를 위해 init이 UIColor init에 다른 이름의 매개 변수를 지정해야한다는 것입니다. –
조금만 돌아 본 후, Robert Wagstaff가 올바른 설명을했다고 생각합니다. 나는 Swift가 다른 유형의 동일한 매개 변수를 오버로딩 할 수 있다고 생각하지 않는다. 궁금한 일이 고의적으로 이루어 졌는지, 아니면 미래에 허락 될지 궁금하다. – donkey
내 질문에 많은 답변을 기다리는 중이다. – donkey