RetinaディスプレイiPhone専用の壁紙アプリを開発しています。legends.jpg
ビューにプレビューとして表示したい640 x 960 ピクセル サイズの画像があります。ここに私のコードがありloadView
ます:
- (void)loadView
{
// Init the main view first.
UIView *wallpaperContainerView = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
UIImage *wallpaper = [UIImage imageNamed:@"legends.jpg"];
UIImageView *wallpaperView = [[UIImageView alloc] initWithImage:wallpaper];
[wallpaperContainerView addSubview:wallpaperView];
[self setView:wallpaperContainerView];
}
私の質問は次のとおりです。
- シミュレーター (iPhone Retina 3.5 インチ) で実行すると、画像が画面全体よりも大きく表示され、左上部分のみが表示されます。3.5 インチの iPhone の解像度が 640x960 で、私の画像のサイズと似ているのに、なぜこれが当てはまるのですか? 画像を画面に合わせるには、コードに何を追加すればよいですか?
- Retina ディスプレイ iPhoneのみをターゲットにしている場合、すべての画像ファイル名に「@2x」を追加し、「@2x」以外のファイルは除外する必要がありますか?
アップデート
以下の提案のおかげで、legends.png (非網膜用) および legends@2x.png ファイルを作成しました。次に、*wallpaper
初期化を次のように変更しました。
UIImage *wallpaper = [UIImage imageNamed:@"legends"];
これは私の#1の質問を完全に解決します。そのため、明らかに JPG を使用するとこのスケーリングの混乱が生じますが、PNG を使用するとすべて正常に動作します。