YoheiM技術やらずに終われまテン

2011-10-04 [XCODE]Viewの背景色を透明にする方法

こんにちは、@yoheiMuneです。

今日は、UIViewの背景色を透明にする方法を学んだので、ブログに残しておきたいと思います。今日はライトなネタ(*゚▽゚)ノ

f:id:yoheiM:20111004183140j:image




背景色透明の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]; // transparent background.

  // 作成した背景色透明のViewを現在のViewの上に追加する
  [self.view addSubview:aView];
}

上記のopqueとbackgroundは、Interface Builderでも設定する事は可能です。

opaqueチェックボックスをオフにして、背景色指定する箇所で、透明度=0.0に設定すると、上記コードと同じ効果を得ることができます。




参考

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

UIView Class Reference




最後に

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

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

以下は関連ページです。参考になれば幸いです(・∀・)