iOS 앱을 개발 중입니다. 앱의 기본 색상 (및 상태 표시 줄 색상)은 사용자가 선택할 수 있습니다. 상태 표시 줄의 흰색 또는 검정색 텍스트 색상이 RGB 또는 HEX 색상에서 시작하는 것이 더 나은지 계산할 수있는 함수가 있습니까?상태 표시 줄의 올바른 텍스트 색을 프로그래밍 방식으로 계산하는 방법은 무엇입니까?
0
A
답변
3
다음은 내가하는 일입니다. 요약하면 - 색상의 RGB 값을 가져옵니다. 그런 다음 RGB 값에서 그레이 스케일 값을 계산하십시오. 그런 다음 그레이 스케일을 기반으로 상태 표시 줄 스타일을 선택하십시오.
1 단계 - UIColor
에서 RGB 값을 얻을 : - :
CGFloat gray = 0.299 * red + 0.587 * green + 0.114 * blue;
3 단계 - 상태 표시 줄 스타일을 선택
UIColor *color = // your color
CGFloat red, green, blue, alpha;
if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
CGFloat white;
if ([color getWhite:&white alpha:&alpha]) {
red = green = blue = white;
} else {
NSLog(@"Uh oh, not RGB or grayscale");
}
}
2 단계 RGB 값에서 회색 값을 계산 :
UIStatusBarStyle style = gray > 0.6 ? UIStatusBarStyleDefault : UIStatusBarStyleLightContent;
일반적으로 0.6
의 사용이 작동합니다. 취향에 맞게 조정할 수 있습니다.
0
체크 아웃이 링크 Check if UIColor is dark or bright?
그리고 당신은 같은 것을 사용하여 RGB 값을 찾을 수 있습니다;
const CGFloat *colors = CGColorGetComponents(self.view.backgroundColor.CGColor);
NSLog(@"R:%f G:%f B:%f",colors[0],colors[1],colors[2]);
다음에 따라 원하는 텍스트 색상을 계산하십시오.
관련 문제
- 1. 프로그래밍 방식으로 제목 표시 줄의 색을 16 진수로 변경하는 방법?
- 2. 상태 표시 줄의 색을 변경하는 방법
- 3. UISearchBar가 상태 표시 줄의 색을 흰색으로 변경합니다.
- 4. 상태 표시 줄의 색상을 변경하는 방법은 무엇입니까?
- 5. 상태 표시 줄의 텍스트 색을 사용자 정의 색으로 변경하는 방법
- 6. Android 루트가있는 상태 표시 줄의 모든 알림을 프로그래밍 방식으로 읽음
- 7. 프로그래밍 방식으로 Android 상태 표시 줄을 표시하는 방법은 무엇입니까?
- 8. 상태 표시 줄의 색 변경
- 9. iOS7 - 상태 표시 줄의 색을 바꿀 수 있습니까?
- 10. 상태 표시 줄의 높이를 수정하는 방법은 무엇입니까?
- 11. 프로그래밍 방식으로 컨텍스트 스위치를 계산하는 방법은 무엇입니까?
- 12. 편지함과 같은 상태 표시 줄의 텍스트
- 13. 상태 표시 줄의 블루투스 상태
- 14. 제목 표시 줄의 색상을 프로그래밍 방식으로 바꿉니 까?
- 15. 특정 조각에서 상태 표시 줄의 색을 어떻게 바꿀 수 있습니까?
- 16. 프로그래밍 방식으로 블루투스 상태 표시 등 제어
- 17. 상태 표시 줄의 아이콘
- 18. 프로그래밍 방식으로 탭을 만들 때 탭 텍스트 색을 설정하는 방법
- 19. 동일한보기 컨트롤러 내에서 프로그래밍 방식으로 상태 표시 줄 텍스트 색 변경
- 20. android activity에서 제목 표시 줄의 색을 변경하는 방법은 무엇입니까?
- 21. Windows에서 오른쪽 작업 표시 줄의 색을 변경하십시오.
- 22. 각 줄의 색을 바꿉니다
- 23. iOS 상태 표시 줄의 시간 숨기기
- 24. Xcode UITableView 프로그래밍 방식으로 셀 텍스트 색을 강조 표시로 변경
- 25. 상태 표시 줄의 탭 크기 숨기기 서브 스크립 션 텍스트
- 26. 범위에서 모양의 색을 프로그래밍 방식으로 변경
- 27. iphone : 상태 표시 줄의 텍스트 색상 (백그라운드가 아님)을 변경하는 방법은 무엇입니까?
- 28. iOS UIImage 검은 색을 프로그래밍 방식으로 투명하게 변환하는 방법은 무엇입니까?
- 29. 안드로이드에서 프로그래밍 방식으로 확인란 테두리 색을 변경하는 방법은 무엇입니까?
- 30. 아이폰 상태 표시 줄의 사용자 정의 아이콘
그렇다면 앱의 주요 기능을 쓰길 원하십니까? 이와 같은 질문을하는 데는 아무 문제가 없지만 다음 번에 시도 할 수있는 코드 스 니펫을 제공해주십시오. – ArtSabintsev
나는 그것을 요구하지 않고있다. @ 머디가 내 질문에 완벽하게 물었다. – fustalol
제 사과 - 귀하의 질문에 대한 표현이 나 혼란 스러울 수 있습니다. 다행스럽게 대답을 얻었습니다! 행운을 빕니다! – ArtSabintsev