[XCODE] UIViewの背景色を透明にする方法
こんにちは、@yoheiMuneです。
今日は、UIViewの背景色を透明にする方法を学んだので、ブログに残しておきたいと思います。
透明にするには、設定したり背景色を指定したりと何個かやることがあります。
今日はそのやり方をソースコード付きで書きたいと思います。
背景色透明のViewを作成する
背景色透明のViewを作成すると、一つ下のViewの表示内容も見えるようになり、アプリケーションとしての表現力が向上するのではないでしょうか。
例えば、描画アプリの場合には、レイヤーという考えを、背景色透明なVIewで実現することが出来ます。
実装方法は簡単。以下のようにすれば出来るようです♪(´ε` )
- (void)viewDidLoad { [super viewDidLoad]; // 背景色を透明にしたいUIViewのインスタンスを作成する UIView *aView = [[UIView alloc] initWithFrame:self.view.frame]; // opaque属性にNOを設定する事で、背景透過を許可する。 // ここの設定を忘れると、背景色をいくら頑張っても透明になりません。 aView.opaque = NO; // backgroundColorにalpha=0.0fの背景色を設定することで、 // 背景色が透明になります。 aView.backgroundColor = [UIColor colorWithWhite:1.0f alpha:0.0f]; // 作成した背景色透明のViewを現在のViewの上に追加する [self.view addSubview:aView]; }
上記のopqueとbackgroundは、Interface Builderでも設定する事は可能です。
opaqueのチェックボックスをオフにして、背景色指定する箇所で、透明度=0.0に設定すると、上記コードと同じ効果を得ることができます。
参考
以下のサイトを参考にしました。ありがとうございます。
最後に
ちなみに、Appleのガイドによると、 「描画パフォーマンスに影響するから、背景色を透明や半透明にするViewは最小限にしましょう」とのこと。
iPhoneアプリ開発を初めて2年ちょい。 初めてUIViewの背景を完全透明にする方法を知りました。 今迄そんなこと必要なかったから使わなかったけど、出来ると便利ですね。