2009-08-10 7 views
5

私のアプリケーションを開発している間に心配していたことは、現在のディスプレイ世代の320x480の性質を当然受け入れるイメージとビューコンポーネントのハードコーディングされたジオメトリです。将来のハードウェアでiPhoneの画面解像度が変更される

私は、StackOverflowとサンプル/チュートリアルで、画面の大きさにハードコードが含まれているとの多くの回答を見てきました。私は320x480のサイズの背景にもテクスチャを作っていますが、UIViewContentModeScaleToFillに注意していますが、IBのピクセル位置がハードウェア固有のインターフェイスになることは全く肯定的ではありません。

ある時点で、iPhoneにはさまざまな表示解像度があると想像しています(と願っています)。

(もちろん、誰かが640キロバイト以上のものを望むと仮定するとは、ああごめん、320x480の解像度:))

このURLをご参照ください。

+1

あなたは320x480を意味すると思います。 – David

答えて

2

する必要があります。これらのメトリックをAPIから取得する方法がある場合は、それを行う必要があります。 Macの古い時代には、9インチのスクリーンのために多くのpoepleがハードコードされていました。私のMac XL(本質的にMacのメインボードが入ったリサのケース)を手に入れたとき、12インチのスクリーンと "スケールされていないアプリは凡てのものだった。

ハードウェアにいくつかの根本的な変更があるとすれば、Appleは確かにそれを行うだろうということです。チッププラットフォームをうまく変えることができる企業なら、TWICEはハードウェア、ソフトウェアなどを更新して、物事をより良くするという心配はありません。

2

あなたは自分の質問に誤って答えたと思いますが(あなたはこれについて計画しています)、問題の説明に間違いありません。表示されているサンプルコードの多くがそれを説明していない場合、サンプルコードからコピー/貼り付けを行う多くの開発者は、それを考慮していません。

アップルが他の解像度を許可している場合、古いアプリの互換モードで動作する方法や、希望する解像度をチェックする方法があると思います(既定の解像度古いアプリは変更する必要はありません)。

+0

UIView.autoResizingMaskやその他のさまざまなノブを使用すると、画面の解像度を得ることができます。これらはすべて利用可能で、*私はそれを説明していますが、他の開発者(あなたのような人)がいるのだろうかと思っています。 – groundhog

+0

私はそれが私の言うことを推測しています。テクニックを知るには十分に賢明かもしれませんが...開発者が利用できるサンプルコードの大部分が解決を考慮していない場合、ほとんどの開発者は(IMO) –

3

OS Xの場合はNSScreen、iPhoneの場合はUIScreenをチェックしてください。ドキュメントから

「...あなたは アプリケーションのウィンドウのための推奨 枠矩形を取得するには、このオブジェクト のプロパティを使用する必要があります。」