0
網膜ディスプレイを簡単にサポートする方法を探しています。もし私がペン先のビューを見て、そこに使われているすべての画像リソースの名前を取得できたら、対応する網膜画像があるかどうかを確認して(網膜装置の場合は)ロードすることができました。nib経由で読み込まれたビューを調べて、imageViews内のイメージのリソース名を調べる方法はありますか?
私はロードされた後にサブビューを反復する方法を知っていますが、Interface Builderで設定されたリソース名をどのように(またはできるか)知ることができません。私は、コード内にすべてのイメージ名を設定する必要がないようにしようとしています。私は(擬似コードで)やってみたい何
:
for subView in self.view.subviews:
if subView is UIImageView:
resourceName = (UIImageView *)subView.imageName
if retinaResourceFileExists(resourceName) and isRetinaDisplay:
(UIImageView *)subView.image = retinaImage(resourceName)
(ボーナス:?たぶんそこIBOutlet変数を反復処理する方法があるが、私はそれを疑う)
まあまあまあ素晴らしいです。 – zekel
iOS4(?)より先にimageNamedで使用されるファイル名に拡張子を含める必要があることに注意してください。しかしそれはまだ2倍の画像をロードします。 –