스토리 보드의 색상이 UIColor와 일치하지 않습니다.
코드에서 색상을 다음과 같이 정의하고 있습니다.
[UIColor colorWithHue:32.0/360.0 saturation:0.88 brightness:0.97 alpha:1]
스토리 보드에서 같은 색을 설정하려고하면 앱을 실행할 때 코드에 정의 된 색과 약간 다른 색입니다. 색상을 입천장으로 드래그 한 다음 다른 색상을 선택하고 입천장을 다시 선택하면 HSB 값이 약간 다릅니다. 인터페이스 빌더에서 다른 (RGB?) 색상으로 스냅되는 것 같습니다.
Xcode 8 이상, iOS 10 이상
나는 최근 에이 문제에 직면했고 게시 된 답변 중 어느 것도 그것을하지 않았습니다. iOS 10 SDK가 출시되면서 UIColor
이니셜 라이저는 init(red:green:blue:alpha:)
이제 확장 된 sRGB 범위를 사용하므로 스토리 보드에서 색상 값을 구성 할 때 그에 따라 설정해야합니다.
Apple 문서 참조 : https://developer.apple.com/reference/uikit/uicolor/1621925-init
나는 같은 문제가 있었다. 코드에서 런타임에 생성 된 UIColors와 일치하지 않는 스토리 보드의 색상의 런타임 RGB 값을보고있었습니다. 구성 할 때 색상을 "일반 RGB"(vs 기본값 인 sRGB)로 설정하여 스토리 보드에서이 문제를 해결할 수있었습니다. 다음은 IB에서 제가 말하는 내용의 스크린 샷입니다.
스위프트 3
제 경우 정확히 정확한 것은 컬러 LCD 였습니다 .
내가 도왔 으면 좋겠어 :-D
코드를 사용하면 UIColor init (red : green : blue : alpha :) 메서드는 sRGB 색상 공간이있는 색상 객체를 반환합니다. xib / StoryBoard를 사용하여 코드를 사용하는 것과 동일한 모양을 얻으려면 "sRGB IEC ..."를 선택해야합니다.
예 :
UIColor.init(red: (20.0/255.0), green: (20.0/255.0), blue: (20.0/255.0), alpha: 1.0)
사실,이 문제는 iOS 10과 관련이 없습니다. iOS 10 이후 UIColor init는 sRGB 대신 "확장 된 sRGB"를 사용합니다. 그리고 이것은 0.0 이하와 1.0 이상의 rgb 값을 사용할 때만 문제를 일으킬 것입니다.
이것은 버그 인 것 같습니다. 코드에서 IB가 설정 한 색상을 로깅 할 때 값은 H : 27.982594 S : 0.899257 B : 0.953253입니다.
Apple에 버그 보고서를 제출했습니다 : rdar : // 19744216
Zaph 덕분에
기록하려면 :
CGFloat cols[4];
[color getHue:&cols[0] saturation:&cols[1] brightness:&cols[2] alpha:&cols[3]];
NSLog(@"H:%f S:%f B:%f %f",cols[0]*360, cols[1], cols[2], cols[3]);
참고 URL : https://stackoverflow.com/questions/28367811/color-in-storyboard-not-matching-uicolor
'development' 카테고리의 다른 글
“Invariant Violation : Application AwesomeProject가 등록되지 않았습니다.”정적 jsbundle로 iOS 장치 용으로 빌드 할 때 (0) | 2020.12.13 |
---|---|
이 C ++ for 루프의 실행 시간에 중요한 차이가있는 이유는 무엇입니까? (0) | 2020.12.13 |
비트 연산자를 사용하여 정수가 짝수인지 홀수인지 확인하는 방법 (0) | 2020.12.13 |
OSX에서 기본값 대신 MAMP 버전의 PHP를 사용하는 방법 (0) | 2020.12.13 |
Windsor-컨테이너에서 Transient 개체 가져 오기 (0) | 2020.12.13 |