2012-10-05 2 views
3

iPhone 5로 이전하는 것에 대한 이전 글은 새로운 크기의 출시 이미지 * 을 추가하고 필요한 경우 AutoLayout을 사용하는 것을 언급합니다.iPhone5 대 iPhone4의 xib에서 서로 다른 크기의 이미지를 다루고 있습니까?

그러나 화면의 전체를 채우는 배경 이미지가있는 곳 (보기에 따라 탐색 및 탭 표시 줄을 최소화 할 수 있음)이 있습니다. iPhone 5를 지원하려면 다른 화면 크기에 대해 서로 다른 이미지가 필요합니다. xib 또는 다른 곳에서 어떻게 처리됩니까?

(* 부수적으로 응용 프로그램이 실행 이미지를 사용하지 않는 경우? 당신이 뭘)

답변

3

Here's 링크를 실제로 당신을 도움이됩니다. 실행 이미지를 저장하면 파일 이름 끝에 "[email protected]"를 넣으면 iOS가 자동으로 올바른 이미지를 선택하지 않습니다. 직장을 쉽게 만드는 above link에는 몇 가지 도우미 방법이 언급되어 있습니다. 약간 카테고리 쓰기도 도움이 될

-(BOOL) IsTall 
{ 
    return ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) && ([[UIScreen mainScreen] bounds].size.height * [[UIScreen mainScreen] scale] >= 1136); 
} 

: 나는 위 여기에 언급 된 링크의 코드를 채택했다

은의 Obj-C의 도우미 함수입니다. 당신이있는 UIImage 개체에 액세스하는 경우

@interface NSString (Special) 
-(NSString*)correctImageNameForiPhone5 
@end 

@implementation NSString (Special) 
-(NSString*)correctImageNameForiPhone5 
{ 
    if([self isTall]) 
      return [email protected]_-; //Do the correct NSString magic here 
    else 
      return -originalImageName-; 
} 
@end 

마지막 :

NSString *filename = @"backgroundImage.png"; 
UIImage *img = [UIImage imageNamed:[filename correctImageNameForiPhone5]]; 

여기에 가정은 "-568h @ 배"로 끝나는 모든 아이폰 5 전용 이미지 파일 이름을 가질 것입니다. 이 코드 샘플은 프로젝트에 그냥 놓아 두지 않으면 효과가 없을 것입니다.하지만 아이디어는 얻을 수 있습니다. NSString 수정이 필요합니다.

+1

프로그래밍 방식으로이 작업을 수행하므로 배경이있는 xibs를 더 이상 사용할 수 없습니까? – Gruntcakes

+0

iOS에서 명명 규칙에 따라 자동 크기 조정을 처리 할 수없는 경우 다른 옵션이 표시되지 않습니다. 나는 출구가 있는지 알고 싶지만 !! – Ravi

+0

더 큰 이미지를 프로그램 적으로 처리 할 수있는 또 다른 방법이 있습니다. https://github.com/gaj/imageNamed568 – UIBuilder

관련 문제