9

UIImageが新しいiOS6にfilename-568.png画像を自動的にロードすることについての投稿をいくつか見ましたが、UIImageViewクラスでそれを再作成できないようです。

私はストーリーボードを使用しており(アプリではなく、いくつかのチェックを行う必要があります)、画像ビューだけが収まるように拡大縮小されたシンプルなレイアウトで、ビューコントローラーにコードはありません。ファイル名は確かです。 pngfilename-568h.pngが存在します(念のため-568@2x.pngもあります)が、iOS6シミュレーターにロードすると。これはiOS4および5の場合であり、網膜用の@ 2x画像の読み込みは、iOS6では機能しないようです。何か案は?

この画像は起動画像と同じであるため、たまたまDefault.pngと呼ばれていますが、これが問題になる可能性がありますか?

事前に助けてくれてありがとう

4

2 に答える 2

32

iOS6は、@2xイメージの場合のように-568hを自動的にロードしません。唯一の例外はデフォルトの画面ですが、それ以上に手動で568h画像を自分で設定する必要があります。

メソッドを使用するときの-568h画像の読み込み動作を模倣するコードを作成しまし[UIImage imageNamed:@""]たが、IBからは方法がわかりません。このようなソリューションに興味がある場合は、http://angelolloqui.com/blog/20-iPhone5-568h-image-loadingで確認してください。

于 2012-09-30T10:45:43.263 に答える
4

通常、起動イメージには568hのみを使用する必要があります。アプリ内で新しい表示の高さに異なる画像アセットを使用していることに気付いた場合は、UIを静的にしすぎている可能性があることを考慮する必要があります。

人々が画像に568hを使用したい最も明白な場所は、背景画像です。別の方法は、可能な限り最大のディメンションを持つアセットを1つだけ作成し、UIViewのcontentModeプロパティを使用して適切に配置することです。

ただし、画像の上部と下部に何かが浮かんでいる可能性があるため、contentModeはそれを解決しません。とにかく、上部フローターと下部フローターはおそらく別々のビューである必要があると考えることができます。

私たちは常に高さが変化するアプリを作成してきたことを忘れないでください。キーボードがポップアップするたびに、画面のサイズが縮小したかのようになります。

于 2012-11-15T01:51:43.657 に答える