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