Swift 3 시대의 UIColor와 그것을 다루는 편리한 라이브러리를 만들었습니다.

개요


  • Xcode 8/Swift 3에서 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 funcclass 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을 쉽게 설정할 수있게 해주는 라이브러리를 만들었습니다.UIColorextension 로 되어 있고, 131색 정의하고 있습니다. (실제의 색수보다 적은 이유는, 아래의 「주의점」로 설명하고 있습니다)



    사용법



    CocoaPods, Carthage에서 설치할 수 있으므로 README을 참조하십시오.
    view.backgroundColor = .lightGreen
    

    주의점


    UIColor 에 디폴트로 정의되고 있는 것은 2가지의 대응을 하고 있습니다.
  • 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 /

    좋은 웹페이지 즐겨찾기