1

SnowLeopardでXCode4.2を使用してユニバーサルアプリを開発していて、pngファイルが埋め込まれた丸いボタンを表示したいと思いました。丸みを帯びたボタンは、cocoacontrols.comのUIGlossyButtonクラスのものです。pngファイルは、網膜と非網膜の両方の種類です。UIButtonの高さと幅をiPhoneでは60、60、iPadでは120、120に設定しました。iPadシミュレーター(網膜以外のバージョン)のスクリーンショットを添付しています。アイコンのサイズが気になります。とても小さく見えます。どちらも非網膜ディスプレイであるため、アプリをiPad2とMiniで実行したかったのです。これは実際のiPad2デバイスに表示するための正しいアプローチですか?また、丸みを帯びたボタンはiPadで完璧に見えますか?私はまだ開発者ライセンスの支払いをしておらず、iPadを所有していません。

以下は、丸みを帯びたUIGlossyボタンを描画するためのコードです(丸みを帯びたボタンクラスを参照)。

UIGlossyButton *b;
    b = (UIGlossyButton*) [self.view viewWithTag: 78];
    b.tintColor = [UIColor colorWithRed:0.2 green:0.3 blue:0.7 alpha:1.0];
    [b useWhiteLabel: YES];
    b.buttonBorderWidth = 2.0f;
    b.buttonCornerRadius = 200.0f; //iPad. For iPhone, I'm using 40.0f
    [b setGradientType: kUIGlossyButtonGradientTypeLinearSmoothExtreme];
    [b setExtraShadingType:kUIGlossyButtonExtraShadingTypeRounded];
}

スクリーンショットを以下に示します。

http://www.use.com/2dcafe08c92ec00c41fe

助けてください。

4

1 に答える 1

2

ボタンの小ささ、またはボタンの上のグレースケール画像の小ささについて心配していますか?ボタンのサイズが気になる場合は、ボタンのフレームを変更すると大きくなります。

ただし、ボタンの画像が気になる場合は、「Retinaディスプレイ」は肉眼で認識される画像のサイズを変更せず、適切な@2x画像が利用できる場合にのみ画像の解像度を向上させることに注意してください。したがって、アイコン画像の「サイズ」は、網膜ディスプレイと非網膜ディスプレイの両方で同じになります。つまり、iPad1とiPad3で同じアプリを開くと、すべてが同じサイズになりますが、解像度が上がるため、iPad3の画面上の画像はより滑らかに表示されます。

(これは、設定したサイズを設定するときUIButtonに、解像度に依存しpointsないように設計されているためですpixels。ここのポイントとピクセルのセクションを参照してください。)Points

もちろん、iPad Miniを使用すると、とにかくすべてがわずかに小さく表示されますが、それでも比例します。

したがって、ボタンのアイコンが小さすぎる場合は、より大きなオーバーレイ画像を使用する必要があります。これを行うと、網膜と非網膜を問わず、すべてのディスプレイでアイコンが大きく表示されます。

丸いボタンが「完璧」に見えることに関しては、上に示したようにボタンの光沢に問題はありませんが、アイコンが小さすぎる(そして灰色がかった色が見えにくい)と思います。 -青)。したがって、より大きなアイコン画像を使用します。-でもそれは私の個人的な意見です。


コメントへの返信:

@ 2x画像は、網膜画面(iPad 3以降、iPhone 4以降)でのみ使用されます。@2x画像を直接ロードしないでください。デバイスがそれを処理します。iPadでアイコンが小さくしか表示されない場合は、画像のコピー(通常と@ 2xの両方)を作成し、Photoshop / Previewなどで手動(たとえば1.5x)に拡大してみてください。次に、iPhoneが通常どおり画像をロードするようにコードを変更しますが、iPadはこれらのわずかに大きい画像をロードします。したがって、AppBundleには次のものが含まれる可能性があります。

  • buttonImage_Tag_iPhone.png---64x64と言います
  • buttonImage_Tag_iPhone@2x.png---したがって、128x128
  • larger_button_image_tag_iPad.png---96x96と言います
  • larger_button_image_tag_iPad@2x.png---したがって、192x192

次に、次のコードを使用して適切なイメージをロードできます。

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
    // Use larger_button_image_tag_iPad.png
}
else {
    // Use buttonImage_Tag_iPhone.png
}

もちろん、画像には好きな名前を付けることができます。例として、画像を異なるものにしました。

于 2012-12-24T06:08:11.307 に答える