2013-02-23 20 views
5

私は普遍的なアプリを開発しています.iphoneと(768 * 1024)のすべてのiPhone(iPhone 3G、iPhone4など)の画面解像度(320 * 480)これらの画面解像度に基づいて、私はiPhoneとiPadの両方でtextField、UILabelの幅を設定しています。これらは網膜と非網膜のために機能しますか?iPhoneとiPadの画面解像度

答えて

15

Retina iPhoneとiPadsは、Retina以外のデバイスと同じ座標系を使用します。現在のところ、すべてのiPadsの論理座標空間は768x1024で、iPhone 5を除くすべてのiPhoneの論理座標空間は320x480です。あなたのコードは、網膜と非網膜の両方のデバイスで正常に動作するはずです。

iPhone 5では、iOSに拡張画面解像度のDefault.pngを含めてフルスクリーンを使用するように指示しない限り、画面上部に黒いバーが表示されます。

[[UIScreen mainScreen] bounds]で画面解像度を確認できます。この値は、網膜および非網膜のデバイスで同じになります。 [[UIScreen mainScreen] scale]の値をチェックすると、網膜デバイスを検出できます。ここでの値は、論理座標空間の単位あたりの物理ピクセル数です(非網膜では1.0、網膜では2.0)。

+0

はい、私は同じiPad用768×1024と.ITのiPhone5について他の網膜とnonretina .Doesためcordinatesそれは姿勢の違い(縦と横)を作るか、そして何を意味していない(iPhone用)320×480に置かれている?万一仕様のためにコードを再度変更しますか? –

+1

ここではっきりとした質問がたくさんあります。私はあなたがこれらのトピックの多くをカバーするUIViewController:http://developer.apple.com/library/ios/#documentation/uikit/reference/UIViewController_Class/Reference/Reference.htmlに関するAppleのドキュメントを読むことから始めることをお勧めします。 –

1

UIKitおよびCoreGraphicsは、ピクセルではなくポイントで動作します。

網膜と非網膜の両方のデバイスは、同じ数のピクセルを持ちますが、ピクセルの量は異なります。これは、同じポイント値が、異なるデバイス上の異なるピクセル値を意味し得ることを意味する。

あなたの質問に答えるために、同じレイアウトUILabelの幅は、網膜と網膜以外のデバイスで同じように表示されます。 Appleの開発者用ドキュメントから

:あなたは常に取得する機能を使用することができ http://developer.apple.com/library/ios/documentation/windowsviews/conceptual/viewpg_iphoneos/WindowsandViews/WindowsandViews.html#//apple_ref/doc/uid/TP40009503-CH2-SW15

-1

In iOS, all coordinate values and distances are specified using floating-point values in units referred to as points. The measurable size of a point varies from device to device and is largely irrelevant. The main thing to understand about points is that they provide a fixed frame of reference for drawing.

ビュープログラミング・ガイドのポイント対ピクセルのセクションを見てくださいOSとインターフェイスに必要なものを実行します。

var pattern:RegExp = /iphone5/i; 
var str:String = Capabilities.os; 

if (str.search(pattern)==0) 
{ 
    trace('iPhone5 Detected. Alter height.'); 
}else{ 
    trace('No need to change dimensions if developing at 960x640'); 
}