【Objective-C】UIViewに半透明の背景色を設定する

今後使う機会があるかはわかりませんが、いつかのためにまとめ。
Objective-CUIView に半透明の背景色を設定する方法についてです。
なお、便宜上 UIView と書いていますが、実際には、UIImageView に設定しました。
UIView でも UIImageView でも、指定の方法は同じなので、ご安心ください。

今回参考にさせていただいた記事はこちらから。

[XCODE] UIViewの背景色を透明にする方法
– YoheiM .NET

https://www.yoheim.net/blog.php?q=20120710

 

実装するコードは下記の通りです。

UIImageView *imgView = [[UIImageView alloc] init];
imgView.frame = CGRextMake(100, 100, 200, 200);
imgView.opaque = NO;
imgView.backgroundColor = [UIColor colorWithWhite:1.0f alpha:0.8f];
[self.view addSubview:imgView];

まず、1〜2行目で、普段通りに UIImageView を定義します。
今回は、サイズが 200×200 で、画面左上から下と右に 100ずつ移動させた場所に描画しています。

その後、3行目のように、opaque 属性に NO を設定します。
これがないと、背景色の透過が許可されないとのことです。

あとは、4行目のように、UIImageView に指定したい背景色と、どのくらい透過させるかを指定します。
透過度合いは alpha で指定します。
私は背景色は白色で、透明度は 0.8 にしました。
最後に、UIImageView を View に追加したら完了です!

imgView.opaque = NO; という記述を忘れそうですね…。
今後また使う機会があったときは気をつけたいと思います。

 

以上、Objective-C で UIView に半透明の背景色を設定する方法についてでした。
ご参考になれば幸いです。

>株式会社シーポイントラボ

株式会社シーポイントラボ

TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:〒432-8003
   静岡県浜松市中央区和地山3-1-7
   浜松イノベーションキューブ 315
※ご来社の際はインターホンで「316」をお呼びください

CTR IMG