2012-09-28 5 views
0

내 앱에 출시일 이미지 [email protected]를 추가했습니다. 앱에서 "실제"실행 이미지 다음에 시작 이미지를 표시해야합니다. 있는 UIImage imageNamed이 때문에 :은 iphone5에 640x1136 이미지를 표시 할 수 없습니다.

-(void)pickRightImage 
{ 
    CGSize result = [[UIScreen mainScreen] bounds].size; 
    UIImageView *imgv = [self loadingImage]; 

    UIImage *img; 

    if(result.height == 480) 
    { 
     img = [UIImage imageNamed:@"loading_screen.png"]; 
    } else if([UIScreen mainScreen].scale == 2.f && result.height == 568) { 
     // iPhone 5 
     img = [UIImage imageNamed:@"[email protected]"];  
    } 
    [imgv setImage:img]; 
} 

이미지 뷰가 취 방법은 자동으로 키가 큰 이미지를 자동으로 망막 이미지를로드하는 방법을로드하지 않습니다, 나는 화면 크기를 감지하고 올바른 이미지를 표시하는 몇 가지 코드를 추가 한 NIB에서 MainWindow라는 전체 화면이 표시되고 "Full Screen At Launch"라는 확인란이 선택되었습니다. 그러나 이미지는 전체 화면을 차지하지 않습니다. (비록 발사 이미지가.) 두 번째 이미지는 마치 작은 이미지였던 것처럼 레터 박스로되어 있으며 키가 큰 발사 이미지는 절대로 포함하지 않았습니다.

어쨌든 프로그래밍 방식으로 4 인치 iphone5에 전체 화면 이미지를 표시 할 수 있습니까? 내 이미지가 항상 크기가 조정되는 이유는 무엇입니까?

+1

정수 값 대신 480.0f 및 568.0f를 사용하면 높이를 확인하는 데 도움이되는지 알 수 없습니다. 이 링크도 참조하십시오. - 문제없이 사용하고 있습니다. http://odoruinu.net/blog/2012/09/26/automatically-loading-iphone-5-sized-images-where-required/ –

+0

하시기 바랍니다. 코드가 실행되는지 확인하기 위해 중단 점을 추가하십시오. – tia

+0

Kaan이 아마 머리에 못을 박았다. 부동 소수점 정밀도는 아마 당신을 위해 그것을하고있다. 코드 또는 경로에 로그 또는 중단 점을 추가하려고 시도 했습니까? – Tommy

답변

1

메인보기 컨트롤러에서 테스트했습니다. 또한 대상> 요약> 상태 표시 줄> 가시성 확인에서 "응용 프로그램 실행 중 숨기기"를 선택합니다.

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    UIImageView *iv = [[UIImageView alloc] initWithFrame:self.view.bounds]; 
    iv.image = [UIImage imageNamed:@"[email protected]"]; 
    [self.view addSubview:iv]; 
} 
+0

. 그것의 여전히 잘못 스케일링, 그래서 뭔가 다른 잘못 수도 있습니다. – nont

+0

감사합니다. 비밀은 addSubview로 밝혀졌습니다. MainWindow에 UIImage를 표시하는 것만으로는 절대 크기가 조정되지 않습니다. – nont

4

[UIImage imageNamed:]@2x을 추가 처리합니다. 그래서 당신은, 그것은 4 "화면과 망막 기준 (규모 = 2) 4 있습니다. 모든 장치"(높이 568px)는 레티 나 디스플레이입니다 화면을 모두 테스트도 쓸모

img = [UIImage imageNamed:@"loading_screen-568h.png"]; 

를 지정해야합니다 당신 때문에

if ([UIScreen mainScreen].bounds.size.height == 568) 

if ([UIScreen mainScreen].scale == 2.f && result.height == 568) 

를 교체하고 당신이 좋은 위치 : 높이 == 568, 사용자는 아이폰 5가있는 경우 가정 할 수 있습니다.

+1

이것은 나에게 적합하지 않습니다. 나는 그것이 있어야 함을 동의한다. – nont

+1

감사합니다. 나는 이미지 이름 끝에 @ 2x를 추가하는 문제가 있었고 상태 표시 줄 옵션에 대해 알지 못했을 때 2 배로 확대되었다. – kevinl

관련 문제