0

Retina ディスプレイと非 Retina ディスプレイで異なるサイズの画像を管理することに少し混乱しています。

  1. ストーリーボードにカスタム ボタンを追加し、いくつかのテキストを追加してから、背景画像を追加します。これは Illustrator で作成されたベクターです (幅: 630 / 高さ:130):

    UIImage *img = [UIImage imageNamed:@"iPad1_orange_button.png"];
    [myButton setBackgroundImage:img forState:UIControlStateNormal];
    

ボタンが表示されます:

ここに画像の説明を入力

...ボタンがとても小さく出てきます。

Retina 用に @2x を使用した別の画像がありますが、同じサイズになります。

私の質問は、画像サイズに関してボタンのサイズを管理する方法です。ボタンのサイズを手動で設定する必要がありますか?

また、XCODE で使用するボタンと同じピクセル サイズの Illustrator でボタンを作成し、.png としてエクスポートし、XCODE に追加してストーリーボードにドラッグすると、非常に大きくなります。

4

3 に答える 3

1

簡単な説明:

ストーリーボードの寸法はピクセル単位ではありません。

iPhone 4S は 640x960(x,y) @ 326ppi です。xCode のサイズは 320x460(x,y) です。数値を取得して em を変換し、適切なピクセル サイズを取得します。

IE: ストーリーボードで幅 100、高さ 100 のボタンが必要な場合は、幅 100*(640/320) ピクセル、高さ 100*(960/460) ピクセルの画像を作成します (私の計算は正しいと思います)。 ...)。

構築する対象に応じて、さまざまなデバイスに対応するためにさまざまなイメージが必要になります。

別の注意として、Retina ディスプレイという用語は、ピクセル単位の明確な基準を示していません。私の記憶が正しければ、これは Apple が造った用語であり、基本的には、人間の目 (したがって網膜) がジャギーを見ることができない十分なピクセルが画面にあることを意味します。

Intel による Ultrabook という用語の造語に似ています。REALスペックのフロア/天井はありません。単なるマーケティングの策略です。

于 2012-08-31T21:14:26.377 に答える
0

これは簡単です:

  • ボタンフレームを通常の解像度画像のサイズにする
  • UIImage imageNamed: で画像をロードするときは、このようにします

UIImage *img = [UIImage imageNamed:@"iPad1_orange_button"];

*注意: ファイル拡張子 (.png) を削除しました。これにより、UIImage に適切な解像度のバージョン (通常または @2x) を選択するよう指示されます。iOS は、通常の解像度の画像と同じフレーム サイズで画像の 2x バージョンを表示します。ものすごく単純。

于 2013-01-11T18:22:27.183 に答える
0

寸法と、ピクセルを「密度に依存しないピクセル」と見なすものを考えてください。位置とサイズに関しては、常に元のサイズで作業していますが、さまざまな解像度を処理するのはオペレーティング システム次第です。今のところ、元のサイズと密度の X2 である Retina がありますが、これは変更される可能性があります。特定のデバイスの解像度を手動で変更する必要はありません。

于 2012-08-31T22:06:34.913 に答える