2012-10-10 4 views

답변

1

우선 iOS6 또는 iPhone 5가 현재 iPhone6과 비슷합니다. 하지만 화면 해상도 640X1136의 iPhone 5에 대해 이야기하고있는 것 같습니다. 이 아이폰 5

당신이 abc.png과 자원에 [email protected] 경우에 대한 이미지를 선택 할 내장에-방법은 없습니다, 당신은 같은 코드를 사용

UIImage * image = [UIImage imageNamed:@"abc.png"]; 

는 것 레티 나 디스플레이가 아닌 경우 abc.png를 선택하고 (iPhone 4S 및 iPhone 5를 포함하는 경우) 망막 디스플레이를 사용하려면 [email protected]를 선택하십시오. 당신은 아이폰 5에 대해 별도의 이미지를로드하려면

, 당신은 화면의 높이를 확인해야합니다 :

if(screenHeight == 480) 
{ 
//iphone 3,3G,4 
} 
else if(screenHeight == 960) 
{ 
//iphone 4S 
} 
else if(screenHeight == 1136) 
{ 
//iphone 5 
} 

이 방법 당신은 다른 아이폰에 대해 서로 다른 이미지를로드 할 수 있습니다. 질문에 대한 답변을 확인하고 답변을 확인하십시오.

+0

는 iOS6의의 시뮬레이터 유효이 일이다. 나는 코드를 사용하고있다 : [UIScreen mainScreen] applicationFrame] .size.height == 시뮬레이터의 높이를 확인하기 위해서 == 568 [ – user1668032

+0

[UIScreen mainScreen] applicationFrame] .size.height와 screenHeight는 내가 사용하는 ..... 같다. 나는 비 망막 디스플레이 = 1의 스케일 .... 스케일 값을 고려했다. 망막 디스플레이 = 2 – iSaalis

+0

iPhone 4는 망막 디스플레이를 가지고 있으므로 iPhone 4S – Enrique

0

질문에 대한 답변은 AutoLayout입니다. 이것이 Apple이 iOS 6보기에서 다른 폼 팩터를 처리하기 위해 제기 한 해결책입니다. @2x 이미지 만 사용할 수 있지만 AutoLayout 이미지를 사용하면 정확하게 동작하는 방법을 알 수 있습니다.

여기 AutoLayout를 사용하는 방법에 대한 좋은 입문서이다, 나는 그것을 시도하고 잘 작동 :

http://www.raywenderlich.com/20881/beginning-auto-layout-part-1-of-2

http://www.raywenderlich.com/20897/beginning-auto-layout-part-2-of-2

관련 문제