共通の背景画像を使う

2010年8月10日火曜日 | Published in | 0 コメント

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

以前、UITableView の背景に画像を表示するブログを書いた。今回は1つの UITableViewだけでなく、全画面共通の背景を表示する方法について調べてみた。

UIWindow に UIImageView を貼り付ける


通常 iPhoneアプリは1つの UIWindow を持つが、ここへ UIImageViewを配置し共通で使う画像を表示させる。こんなイメージ。

MainWindow.xib を開き、Windowに UIImageViewを配置し、あとは表示させたい画像を指定してやる。その上で他のビューの背景色を透明にするとこの画像が背景に表示されるようになる。


サンプル


サンプルを作ってみた。UINavigationController を使い、2つの UITableViewController を行き来する。

初期画面はこう。


行を選択すると次のビューがスライドしてきて

次のビューが表示される。スライド中に背景が動いていないのがポイント(あたりまえだが)。


ソースコードは GitHub からどうぞ。
BackgroundImage at 2010-08-07 from xcatsan's iOS-Sample-Code - GitHub


UITableView でのポイント


UITableView の背景色(backgroundColor)を透明色にする必要があるが、これを InterfaceBuilder上で設定すると角の部分が黒くなってしまう。

拡大図。

これを防ぐにはコードで透明色の指定を行う。
- (void)viewDidLoad {
 [super viewDidLoad];
  :
  :
 self.tableView.backgroundColor = [UIColor clearColor];
}

するとこうなる。

※理由はわかりません。


参考情報


Cocoaの日々: UITableView の背景に画像を表示する

Responses

Leave a Response

人気の投稿(過去 30日間)