2013-02-23 5 views
5

보편적 인 앱을 개발하고 있습니다. iPad의 화면 해상도 (320 * 480)와 iPad의 (768 * 1024)가 모든 iPhone (iPhone 3G, iPhone4 등)에서 작동하는지 알고 싶습니다. 이 모든 화면 해상도를 바탕으로 iPhone 및 iPad에서 textField, UILabel의 너비를 설정했습니다. 이러한 것들이 망막 및 비 망막증에 효과적입니까?iPhone 및 iPad 화면 해상도

답변

15

망막 아이폰과 iPads는 비 망막 장치와 동일한 좌표계를 사용합니다. 현재 모든 iPads의 논리적 좌표 공간은 768x1024이며, iPhone 5를 제외한 모든 iPhone의 논리적 좌표 공간은 320x480입니다. 귀하의 코드는 Retina 및 Non Retina 기기 모두에서 잘 작동합니다.

iOS에서 확장 된 화면 해상도로 Default.png를 포함하여 전체 화면을 사용한다고 iOS에 알리지 않는 한 iPhone 5에서 앱이 화면 상단에 검정색 막대로 표시됩니다.

[[UIScreen mainScreen] bounds]으로 화면 해상도를 확인할 수 있습니다. 이 값은 망막 및 비 망막 장치에서 동일합니다. [[UIScreen mainScreen] scale] 값을 확인하여 망막 장치를 감지 할 수 있습니다. 여기서 값은 논리적 좌표 공간 단위당 실제 픽셀 수입니다 (비 망막 렌즈의 경우 1.0, 망막의 경우 2.0).

+0

네,이 같은 아이 패드는 768x1024 및 .IT 아이폰 5에 대한 다른 망막 및 nonretina .Does에 대한 좌표,이 방향의 차이 (세로 및 가로)을 만들어? 그리고 무엇을 의미 (아이폰 용) 320 × 480에 놓여있다?할까요 사양에 대한 코드를 다시 변경합니까? –

+1

여기에는 많은 질문이 있습니다. UIViewController : http://developer.apple.com/library/ios/#documentation/uikit/reference/UIViewController_Class/Reference/Reference.html에서 Apple의 설명서를 읽으면서 시작하는 것이 좋습니다. –

1

UIKitCoreGraphics은 픽셀이 아닌 점으로 작업합니다.

망막과 망막이 아닌 장치는 모두 동일한 수의 픽셀을 가지고 있지만 픽셀의 양은 다릅니다. 즉, 동일한 포인트 값은 다른 장치에서 다른 픽셀 값을 의미 할 수 있습니다.

질문에 대답하려면 예. 동일한 레이아웃 UILabel 너비는 망막 및 비 망막 장치에서 동일하게 표시됩니다. 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'); 
}