Swift 3 시대의 UIColor와 그것을 다루는 편리한 라이브러리를 만들었습니다.
개요
UIColor
지정 정보 UIColor
를 쉽게 지정할 수있는 라이브러리 (CSS3ColorsSwift)를 만들었습니다.Swift 버전에 따른 UIColor의 차이
Swift 3 이상 많은 클래스의 메소드나 프로퍼티가 변경되었습니다.UIColor
의 특정의 색을 지정하는 타입 프로퍼티도 변경되어 이름에 중복이 없어졌습니다.
Swift 2
view.backgroundColor = UIColor.whiteColor()
Swift 3
view.backgroundColor = UIColor.white
// UIColorは省略可能
view.backgroundColor = .white
클래스명의 생략은 Swift 2 에서도 가능했습니다만, 선언이 class func
→ class var
가 된 것으로 ()
도 필요 없기 때문에, 읽기 쉬워집니다.
자유롭게 색상을 설정하는 몇 가지 방법
RGBa 지정의 자주하는 사람
extension UIColor {
convenience init(hex: UInt, alpha: CGFloat = 1.0) {
let red: CGFloat = CGFloat((rgb & 0xFF0000) >> 16) / 255.0
let green: CGFloat = CGFloat((rgb & 0x00FF00) >> 8) / 255.0
let blue: CGFloat = CGFloat(rgb & 0x0000FF) / 255.0
self.init(red: red, green: green, blue: blue, alpha: alpha)
}
}
UIColor(hex: 0x00ff00) // green
Color Literal
Xcode 8에서는 Color Literal이라는 구조로 색을 외형에 알기 쉽게 설정할 수 있게 되었습니다.
Color Literal에 대해서는 이 칼럼 에서 자세하게 소개되고 있어 참고가 됩니다.
도서관을 만들었습니다.
CSS3ColorsSwift
RGBa의 지정에서는 확실히 외형에 알기 어렵다. Color Literal은 미묘한 차이를 모르고 설정 방법이 번거롭다.
그렇게 생각하고 CSS3에 정의 된 X11 Colors을 쉽게 설정할 수있게 해주는 라이브러리를 만들었습니다.UIColor
의 extension
로 되어 있고, 131색 정의하고 있습니다. (실제의 색수보다 적은 이유는, 아래의 「주의점」로 설명하고 있습니다)
사용법
CocoaPods, Carthage에서 설치할 수 있으므로 README을 참조하십시오.
view.backgroundColor = .lightGreen
주의점
UIColor
에 디폴트로 정의되고 있는 것은 2가지의 대응을 하고 있습니다.
view.backgroundColor = UIColor.whiteColor()
view.backgroundColor = UIColor.white
// UIColorは省略可能
view.backgroundColor = .white
RGBa 지정의 자주하는 사람
extension UIColor {
convenience init(hex: UInt, alpha: CGFloat = 1.0) {
let red: CGFloat = CGFloat((rgb & 0xFF0000) >> 16) / 255.0
let green: CGFloat = CGFloat((rgb & 0x00FF00) >> 8) / 255.0
let blue: CGFloat = CGFloat(rgb & 0x0000FF) / 255.0
self.init(red: red, green: green, blue: blue, alpha: alpha)
}
}
UIColor(hex: 0x00ff00) // green
Color Literal
Xcode 8에서는 Color Literal이라는 구조로 색을 외형에 알기 쉽게 설정할 수 있게 되었습니다.
Color Literal에 대해서는 이 칼럼 에서 자세하게 소개되고 있어 참고가 됩니다.
도서관을 만들었습니다.
CSS3ColorsSwift
RGBa의 지정에서는 확실히 외형에 알기 어렵다. Color Literal은 미묘한 차이를 모르고 설정 방법이 번거롭다.
그렇게 생각하고 CSS3에 정의 된 X11 Colors을 쉽게 설정할 수있게 해주는 라이브러리를 만들었습니다.UIColor
의 extension
로 되어 있고, 131색 정의하고 있습니다. (실제의 색수보다 적은 이유는, 아래의 「주의점」로 설명하고 있습니다)
사용법
CocoaPods, Carthage에서 설치할 수 있으므로 README을 참조하십시오.
view.backgroundColor = .lightGreen
주의점
UIColor
에 디폴트로 정의되고 있는 것은 2가지의 대응을 하고 있습니다.
view.backgroundColor = .lightGreen
red
, blue
같은 이름과 색상 코드도 일치하는 것은 이 라이브러리에 포함되지 않았습니다. green
, orange
와 같이 이름은 일치하지만 다른 색 코드의 경우는, 타입 프로퍼티명의 뒤에 CSS3
를 붙이고 있습니다. 이름
컬러 코드
.green
#00FF00 ■
.greenCSS3
#008000 ■
네임스페이스를 이용하면 같은 이름을 사용할 수도 있었습니다만,
UIColor.NameSpace.green
와 같이 길게 입력하고 싶지 않았기 때문에 이렇게 했습니다.Xcode Snippet
UIColor
네임 스페이스를 침범하는 것을 원하지 않는 사람들을 위해 색 이름으로 Color Literal이 쉽게 입력 할 수있는 Xcode Snippet 파일을 만들었습니다.여기는 CSS3의 색상과 UIColor에 정의된 색상도 함께 146색이 있습니다.
설치 방법
# bash, zsh
$ git clone https://github.com/WorldDownTown/CSS3ColorsSwift.git && cp CSS3ColorsSwift/XcodeSnippets/*.codesnippet ~/Library/Developer/Xcode/UserData/CodeSnippets/
# fish
$ git clone https://github.com/WorldDownTown/CSS3ColorsSwift.git; and cp CSS3ColorsSwift/XcodeSnippets/*.codesnippet ~/Library/Developer/Xcode/UserData/CodeSnippets/
사이고에게
issue 또는 Pull Rquest일 수 있습니다. 기여를 기다리고 있습니다.
htps : // 기주 b. 코 m /
Reference
이 문제에 관하여(Swift 3 시대의 UIColor와 그것을 다루는 편리한 라이브러리를 만들었습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/WorldDownTown/items/26c0ba39015f023523a8텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)