0

重複の可能性:
UIColorが暗いか明るいかを確認しますか?

UIColorが暗いか明るいかを判断する簡単な方法はありますか?動的な背景にラベルを付け、背景が暗い場合はテキストの色を白に、明るい色の場合はテキストの色を黒に変更したいと思います。

4

2 に答える 2

6

私はこれをテストしていませんが、あなたのために働くかもしれません...

-(BOOL) isLightColor:(UIColor*)clr {
    CGFloat white = 0;
    [clr getWhite:&white alpha:nil];
    return (white >= 0.5);
}
于 2012-12-05T15:45:48.090 に答える
1

ラベルと背景の色のコントラストを計算し、そこから色を決定します。通常、これには問題の色のコンポーネントを取得することが含まれます。

「色のコントラストを計算する」を引用符なしでグーグルすると、いくつかのリンクが見つかります。iOS固有のものは見つからないかもしれませんが、特に、一般的にRGBの機能が含まれているため、見つけたコードを適応させることができるはずです。これは単純明快です。

于 2012-12-05T15:46:33.147 に答える