2012/07/11更新

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

このエントリーをはてなブックマークに追加      

こんにちは、@yoheiMuneです。

今日は、UIViewの背景色を透明にする方法を学んだので、ブログに残しておきたいと思います。
透明にするには、設定したり背景色を指定したりと何個かやることがあります。
今日はそのやり方をソースコード付きで書きたいと思います。


Transparent 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に設定すると、上記コードと同じ効果を得ることができます。




参考

以下のサイトを参考にしました。ありがとうございます。

UIView Class Reference




最後に

ちなみに、Appleのガイドによると、 「描画パフォーマンスに影響するから、背景色を透明や半透明にするViewは最小限にしましょう」とのこと。

iPhoneアプリ開発を初めて2年ちょい。 初めてUIViewの背景を完全透明にする方法を知りました。 今迄そんなこと必要なかったから使わなかったけど、出来ると便利ですね。







こんな記事もいかがですか?

RSS画像

もしご興味をお持ち頂けましたら、ぜひRSSへの登録をお願い致します。