1

私の質問は簡単です。

CAGradientLayerを使用して、UIViewの素敵なグラデーションの背景を作成したいと思います。

しかし、問題は、それが私の望みの素晴らしい赤い色の代わりに醜い紫色を表示することです。

これが私が使用しているコードです:

- (void)viewWillAppear:(BOOL)animated {
    CAGradientLayer *gradient = [CAGradientLayer layer];
    gradient.frame = self.view.bounds;
    gradient.colors = [NSArray arrayWithObjects:(id)[[UIColor blackColor] CGColor], (id)[[UIColor blackColor] CGColor], (id)[[UIColor colorWithRed:107 green:0 blue:27 alpha:1] CGColor], nil];
    [self.view.layer insertSublayer:gradient atIndex:0];
}

その結果、私はそれを見ることができます:

ここに画像の説明を入力してください

そして、それは私が望んでいることではありません...誰かがこれで私を助けることができれば。

ありがとう !乾杯 :)

4

2 に答える 2

4

整数ではなく、分数を使用する必要があります。

[UIColor colorWithRed:107/255.f green:0.f blue:27/255.f alpha:1.f];

もちろん、整数の除算には注意してください。そのろくでなしは常にこれらの状況で私を取得します。

于 2012-11-12T16:18:28.133 に答える
1

ここでは、RGBの色を次のように使用する必要があります

-(void)viewWillAppear:(BOOL)animated {
CAGradientLayer *gradient = [CAGradientLayer layer];
gradient.frame = self.view.bounds;
//here just set the colour form RGB.
gradient.colors = [NSArray arrayWithObjects:(id)[[UIColor colorWithRed:exactFractionVal green:exactFractionVal blue:exactFractionval alpha:1.f]; CGColor];
[self.view.layer insertSublayer:gradient atIndex:0];
}

//here exactFractionVal is the float value you should pass there for exact RGB.

RGBの作成で問題が発生した場合は、多くのWebサイトで見つけることができます。ここでは、目的の色を作成するためのRGBチャートを見ることができます。

ここにあります...!!!

ここに、赤用の非常に優れたRGBを取得できる別の優れたリンクがあります。

私はこれがあなたが必要なものであなたを助けるかもしれないことを願っています..!!!

于 2012-11-12T16:25:34.487 に答える