2016-06-23 4 views
0

私はUIColorオブジェクトからRGB値を取得しようとしています。在庫UIColorとカスタムUIColorの違い

私はそれが

UIColor *top = [UIColor lightGrayColor]; 
const CGFloat* colorsTop = 0; 
colorsTop = CGColorGetComponents(top.CGColor); 

トップを働くオブジェクトUIColorに次ない場合として出てくる:私はそれが失敗し、次のならば、しかし、* 0x7a7d5b50

UICachedDeviceRGBColor。誰かが理由を説明できますか?

UIColor *top = [UIColor colorWithRed:1 green:1 blue:1 alpha:1]; 
const CGFloat* colorsTop = 0; 
colorsTop = CGColorGetComponents(top.CGColor); 

トップとして出てくる:UIColor * 0x7a7d5cb0

私は最後のものにエラーを取得しています:EXC_BAD_ACCESS(コード= 1、0xb7a7d5b9)

+1

どのように失敗するのですか? – DogCoffee

+1

「失敗する」とはどういう意味ですか?それはコンパイルされませんか?それはクラッシュしますか?あなたの携帯電話は爆発ですか?エラーメッセージとは何ですか? – Fogmeister

+0

ここで実際に何をしようとしていますか?あなたは色のRGB値を取得しようとしているようですか? – Fogmeister

答えて

1

UIColorのRGBコンポーネントを入手することができ...このよう

- (BOOL)getRed:(CGFloat *)red green:(CGFloat *)green blue:(CGFloat *)blue alpha:(CGFloat *)alpha 

を、この方法を使用する必要があります...

CGFloat red = 0; 
CGFloat green = 0; 
CGFloat blue = 0; 
CGFloat alpha = 0; 

[someUIColor getRed:&red green:&green blue:&blue alpha:&alpha]; 

red,​​,blueおよびalphaには、その色の値が含まれるようになりました。

関連する問題