UIViewの背景として画像を使用する際に、iPhone/iPadの画面サイズに合わせて画像を拡大・縮小するパターンと、画像のサイズをそのまま活かすパターンの2種類のコードの書き方があったのでメモ。
photo credit: visualpanic via photopin cc
サマリー
1.iPhone/iPadの画面サイズに合わせて画像を拡大・縮小する書き方
2.画像のサイズをそのまま活かす書き方
3.まとめ
1.iPhone/iPadの画面サイズに合わせて画像を拡大・縮小する書き方
例えば以下の様なの素材画像Sample001.png(860*1000)があるとする。(わかりやすく空の画像を使用)
iPhone/iPadの画面サイズに合わせて画像を拡大・縮小するようにするには、その画像ファイルをプロジェクトに追加した上で下記のように書く。
//iPhone/iPadの画面サイズに合わせて画像を拡大・縮小する UIGraphicsBeginImageContext(self.view.frame.size); [[UIImage imageNamed:@"Sample001.png"] drawInRect:self.view.bounds]; UIImage *backgroundImage = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); self.view.backgroundColor = [UIColor colorWithPatternImage:backgroundImage];
するとこのように画面サイズに合わせて拡大・縮小される。(下図はiPhone6シミュレータ)
2.画像のサイズをそのまま活かす書き方
一方、下記のように書くと、画面サイズは無視され画像サイズがそのまま活かされる。
//画像のサイズをそのまま活かす UIImage *backgroundImage=[UIImage imageNamed:@"Sample001.png"]; self.view.backgroundColor=[UIColor colorWithPatternImage:backgroundImage];
結果、下図のようになる。
3.まとめ
個人的に試してはみたものの、上記のどちらの方法も自分のプロダクトに使用する機会はないだろう。背景画像を使う場合は、存在するiPhoneサイズ分の画像を用意し、実機の画面サイズによって条件分岐させるのが今のところ賢明のような気がする。
以上
Swiftではじめる iPhoneアプリ開発の教科書 【iOS 8&Xcode 6対応】
- 作者: 森巧尚,まつむらまきお
- 出版社/メーカー: マイナビ
- 発売日: 2014/10/31
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (1件) を見る
- 作者: Zuvola
- 出版社/メーカー: Zuvola
- 発売日: 2014/04/12
- メディア: Kindle版
- この商品を含むブログ (2件) を見る
iphone 6 ケース カバー イタリアンデザイン 手帳 型【iphone & iPad 用 ホームボタン シール 付き】 (レッド , おまけホームボタン 白×金)
- 出版社/メーカー: peace and bloom
- メディア: その他
- この商品を含むブログを見る