Objective-C UIViewの背景をグラデーション

公開: 2015-03-10 02:53
更新: 2016-04-29 06:03

こんにちは。グラデーションがかけたくてしょうがないあっきぃです。

何度も使うのですが、すぐに忘れちゃうのでメモって置きます。




1.基本は縦向きのグラデーション

UIViewのレイヤーにCAGradientLayerを足すこの形が基本です。

CAGradientLayer *gradient = [CAGradientLayer layer];
gradient.frame = CGRectMake(0, 0, view.frame.size.width, view.frame.size.height);
gradient.colors = @[
                        (id)[UIColor colorWithRed:0 green:0 blue:0 alpha:1].CGColor,
                        (id)[UIColor colorWithRed:0 green:0 blue:0 alpha:0].CGColor
                        ];
[view.layer addSublayer:gradient];
Objective-C 背景をグラデーション



2.横向きのグラデーションにする場合

グラデーションの向きを横向きにしたい場合は次のような記述を追加してください。

Viewの左上を(0,0)、右下を(1,1)として開始位置と終了位置を指定します。斜め指定もできますね。

gradient.startPoint = CGPointMake(0, 0.5);
gradient.endPoint = CGPointMake(1.0, 0.5);
Objective-C 背景をグラデーション



3.3色以上のグラデーションの場合

colorsに好きなだけ追加しちゃってください。

gradient.colors = @[
                        (id)[UIColor colorWithRed:1 green:0 blue:0 alpha:1].CGColor,
                        (id)[UIColor colorWithRed:0 green:1 blue:0 alpha:0.5].CGColor,
                        (id)[UIColor colorWithRed:0 green:0 blue:1 alpha:0].CGColor
                        ];
Objective-C 背景をグラデーション



4.グラデーションの比重を変える

グラデーション開始位置が0で終了位置が1です。

3とこちらのコードを合わせると「0〜0.1まで赤」「0.1〜0.2まで赤緑」「0.2〜1まで緑青」な意味になります。

gradient.locations = @[@(0.1),@(0.2),@(1)];
Objective-C 背景をグラデーション

よく使います。



この記事をシェア
この記事にコメントする
書き込む
あっきぃ(@appstars_aki)
Web、iOSなフリーランサーです。好きなものはお寿司です。でもお寿司は高いので普段は雑草とか拾ったドングリを食べています。お仕事や意味もなく毎月お小遣いをくれる人を探してます。

お仕事の依頼や自分で作ったアプリのレビューを希望しちゃう方はaki@appstars.jpまでご連絡ください。