UITextField에서 자리 표시 자 텍스트의 기본 색상은 무엇입니까?
UITextField
기본적으로의 자리 표시 자 텍스트가 어떤 색인지 아는 사람이 있습니까? UITextView
의 텍스트를 같은 색 으로 설정하려고합니다 . 나는 다른 곳에서 읽었 UIColor.lightGrayColor()
지만 실제로는 약간 더 가볍습니다.
이 색상 attributedPlaceholder
은 UITextField
.
기본값은 다음과 같습니다. NSColor = "UIExtendedSRGBColorSpace 0 0 0.0980392 0.22";
에 확장 (또는 카테고리)을 추가 할 수 있습니다 UIColor
.
extension UIColor {
static var placeholderGray: UIColor {
return UIColor(colorLiteralRed: 0, green: 0, blue: 0.0980392, alpha: 0.22)
}
}
2018 년 최신 구문은 다음과 같습니다.
extension UIColor {
static var officialApplePlaceholderGray: UIColor {
return UIColor(red: 0, green: 0, blue: 0.0980392, alpha: 0.22)
}
}
#colorLiteralRed
더 이상 사용되지 않습니다. 어떤 경우에는 이것을 알고 있어야 합니다.
색상은 # C7C7CD (r : 199 g : 199 b : 205)입니다 (pterry26이 말한대로).
글꼴 모음은 HelveticaNeue-Medium 이고 크기는 16입니다.
이것은 화면에서 색상이 어떻게 보이는지에 대한 추측입니다. 실제 값은 Apple 코드에서 attributedPlaceholder
.
Mac으로 스크린 샷을 보내고 Photoshop의 스포이드 도구를 사용했습니다. 관심있는 사람이라면, 이것은 적어도 흰색 배경의 자리 표시 자 색상의 아주 좋은 근사치입니다.
빨간색 : 199, 녹색 : 199, 파란색 : 205
실제 색상은 단색이 아니지만 투명도가 있습니다. 그래서 가장 가까운 색은
빨간색 : 4, 녹색 : 4, 파란색 : 30, 알파 : ~ 22 %
흰색 배경에 이것을 사용하면 @ pterry26이 위에 쓴 것을 얻을 수 있습니다.
위의 정답 값 사용
extension UIColor {
class func greyPlaceholderColor() -> UIColor {
return UIColor(red: 0.78, green: 0.78, blue: 0.80, alpha: 1.0)
}
}
Apple 코드에 따르면 70 % 회색입니다.
open var placeholder: String? // default is nil. string is drawn 70% gray
rgb로 변환하면 :
UIColor.init(red: 178/255, green: 178/255, blue: 178/255, alpha: 1)
나는 그것을 믿는다 R:191 G:191 B:198 A:1
. 아래 이미지를 참조하십시오. 여기에 표시된 컨트롤은 UIButton
위와 같고 Title TextColor
나머지는 UITextFields
기본 자리 표시 자 색상입니다. iOS가 차이가 있다면 이것은 iOS 9입니다.
코드 # 999999는 내 양식에 완벽하게 일치합니다!
나중에 변경 될 경우 텍스트 필드의 색상을 동적으로 제거하는 것이 좋습니다. 기본값은 70 % 회색으로 매우 가깝습니다.
extension UITextField {
var placeholderColor: UIColor {
return attributedPlaceholder?.attributes(at: 0, effectiveRange: nil)[.foregroundColor] as? UIColor ?? UIColor(white: 0.7, alpha: 1)
}
}
iOS 13 이상에서 추가하기 위해 자리 표시 자 색상은 Apple에서 다음을 통해 노출됩니다.
UIColor.placeholderText
동적입니다 (어둡고 밝음 모두 지원).
iOS 13 이전 버전으로 넣기 :
static var placeholderText: UIColor {
if #available(iOS 13.0, *) {
return .placeholderText
}
return UIColor(red: 60, green: 60, blue: 67)!.withAlphaComponent(0.3)
}
Mac의 도구를 사용하여 색상을 얻을 수 있다고 생각합니다.
레이블 글꼴을 "light"로 설정
mylabel.font = [UIFont fontWithName : @ "HelveticaNeue-Light"size : 14.0f];
자리 표시 자 텍스트의 색상 코드는
# c2b098입니다.
'developer tip' 카테고리의 다른 글
언제 어디서 GetType () 또는 typeof ()를 사용합니까? (0) | 2020.12.10 |
---|---|
Go에서 파일 길이를 얻는 방법은 무엇입니까? (0) | 2020.12.10 |
Jupyter 노트북에서 목록을 테이블로 출력하려면 어떻게해야합니까? (0) | 2020.12.10 |
mysql의 두 테이블 간의 차이점 비교 (0) | 2020.12.10 |
jQuery-유효성 검사 규칙을 동적으로 추가하는 방법 (0) | 2020.12.10 |