アプリの場合UIButton
、グラデーションと背景画像で塗りつぶされたものを作成する必要がありました。OS を iOS 5.1 から最近リリースされた iOS 6 にアップグレードするまでは、すべて問題なく動作していました。
シミュレーターの 2 つのスクリーンショットを次に示します。
最初のスクリーンショットは、私が必要としている (そして実行した) ものを示しています。茶色の背景と灰色の放射が見えます。
以下は、同じボタンを使用したスクリーンショットですが、iOS 6 が実行されています。ご覧のとおり、グラデーションが消えて、 の下部に奇妙な白い帯が現れましたUIButton
。
これがバグか何かか調べましたが、何も見つかりませんでした。おそらく誰かが同じ問題に直面していますか? これがグラデーションの私のコードです
CAGradientLayer *gradient = [CAGradientLayer layer];
gradient.frame = btnCountry.bounds;
UIColor *colorTop = [UIColor colorWithRed:.992f green:.992f blue:.992f alpha:1];
UIColor *colorBot = [UIColor colorWithRed:.788f green:.769f blue:.745f alpha:1];
gradient.colors = [NSArray arrayWithObjects:(id)[colorTop CGColor], (id)[colorBot CGColor], nil];
gradient.borderColor = [UIColor colorWithRed:.545f green:.506f blue:.459f alpha:1].CGColor;
gradient.borderWidth = 1;
gradient.masksToBounds = YES;
gradient.cornerRadius = 11;
[[btnCountry layer] insertSublayer:gradient atIndex:0];