취득 UITextField 예설 placeholder 的顏色 (산시 미완성)

6662 단어 iOSUIKit
寞以前 개시 關於這個 placeholder 的顏色眾說分紜
애연간 간기 후상상 “담 회색”, 단시실 때 상감

최근에 공주 UITextView 가상 placeholder 적 extension
취결 결정 간간 외 도저히 시선
연고 공주 다른 목구멍

망로상간적 갈색


  • h tps : // s c ゔ ぇ rf ぉ w. 이 m/q/31057746/1583560

  • 光這一串就超多說法 XDD

    밑면 유일개 산시 최근접
    UIColor(red: 0, green: 0, blue: 0.0980392, alpha: 0.22)
    

    은, 과연 是藍色!
    단시실시용 양지 후 환시유구차별:



    밑면 明顯地稍微深了一點點
    과연 환불 불행

    나나나 직접 직접 UITextFieldView 적인 placeholder 來用吧



    很可惜不管怎麼拿無法直接拿到這個值
    여과 진적 유적 이야기 청류언고 고소

    선하중 斷點看值


    let textField = UITextField()
    textField.placeholder = "dummy"
    var range = NSRange(location: 0, length: 1)
    let color = textField.attributedPlaceholder?.attribute(.foregroundColor,
                                                           at: 0,
                                                           effectiveRange: &range) as? UIColor
    

    在 iOS 12.1 適時後這個 color 長這樣:



    holy!! XDD

    곳 이상면 제도적 0.0980392
    這時候就出現兩的選項了

    ① 파나개 작은 작은 이하 불치도
    ② 직접 拿這個 UIColor 來用

    後來我選了 ② ,原因是不知道哪個版本他的placeplace

    성과



    於是把它寫成 UITextField 的 extension
    //
    //  UITextField+Extensions.swift
    //  Written in Swift 4.2
    //
    
    import UIKit
    
    extension UITextField {
        // 這樣寫的話,整個 app 的生命週期這個方法只會被呼叫到一次而已
        static let defaultPlaceholderColor = fetchPlaceholderColor()
    
        private static func fetchPlaceholderColor() -> UIColor? {
            let textField = UITextField()
            textField.placeholder = "dummy"
            var range = NSRange(location: 0, length: 1)
            let color = textField.attributedPlaceholder?.attribute(.foregroundColor,
                                                                   at: 0,
                                                                   effectiveRange: &range) as? UIColor
            return color
        }
    }
    

    사용방법



    인위我把它宣告成 static 變數 (or say class property)
    let color = UITextField.defaultPlaceholderColor
    

    성과




    Before
    After






    희미하게 갱접근료, 단시불지도위 什麼拉近仔細看단시환是有點 미묘한 차별(웃음)
    감패환유타외가입 其他 attributes

    좋은 웹페이지 즐겨찾기