2012-03-13 1 views
3

내 앱에서 시작 화면을 표시해야합니다. URL에서 이미지를 수집하여 문서 폴더에 Default.png으로 저장했습니다.iPhone : 문서 폴더의 시작 화면 표시

이미지를 저장하고 경로를 수집했습니다.

내 문제는 표시되지 않습니다. 나는 어떤 에러도 내지 않으며 로그에서도 정확한 경로를 얻었습니다.

NSString *workSpacePath=[[self applicationDocumentsDirectory] stringByAppendingPathComponent:@"/Default.png"]; 
    imgView=[[UIImageView alloc] init]; 
    imgView.image=[UIImage imageWithData:[NSData dataWithContentsOfFile:workSpacePath]];  

    [self.view addSubview:imgView]; 

내가 workSpacePath에 올바른 경로를 가지고 :

내 코드입니다.

+0

응용 프로그램 수명주기의 어느 단계에서이 작업을 수행하고 있습니까? 'self.view'가 아직 존재합니까? – FluffulousChimp

+0

@nitin 문서 폴더에 ur 파일을 저장하는 방법. 말해 줄 수있어? – ios

+1

** 문서 디렉토리에서 초기 화면을 표시 할 수 없습니다. 응용 프로그램 번들에 있어야합니다. ** –

답변

6

[UIImage imageNamed:] 방법으로 이미지를 덮어 쓰지 마십시오. 이 방법은 번들에 포함 된 이미지에만 적용됩니다. 문서 디렉토리의 경로에 대해 nil을 반환합니다. 그리고 그 때문에 당신은 imgView.image을 0으로 설정했습니다. 즉, 이미지를 제거하십시오.

이 작동합니다 :

NSString *workSpacePath=[[self applicationDocumentsDirectory] stringByAppendingPathComponent:@"Default.png"]; 
imgView=[[UIImageView alloc] init]; 
imgView.image=[UIImage imageWithData:[NSData dataWithContentsOfFile:workSpacePath]];  
//imgView.image=[UIImage imageNamed:workSpacePath]; 
[self.view addSubview:imgView]; 

하지만 당신은 "진짜"시작 화면을 대체 할 수 없습니다. 그러나 원래 스플래시 화면이 사라진 후에 다른 이미지를 표시 할 수 있습니다.

+0

문서 폴더에 이미지를 애플리케이션 번들에 추가하려면 어떻게해야합니까? – nithin

+0

수 없습니다. 응용 프로그램 번들은 읽기 전용입니다. –

+0

웹 서버에서 파싱 된 스플래시 화면을 표시 할 수있는 방법이 있습니까? – nithin

3

"Splashscreen"은 일반적으로 Default.png이라는 이미지에 있으며 앱 번들에 있습니다. 앱 번들의 콘텐츠를 변경할 수 없으므로 앱의 '스플래시 스크린'을 변경할 수 없습니다.

+0

문서 폴더에 이미지를 응용 프로그램 번들에 추가하려면 어떻게해야합니까? – nithin

+0

할 수 없습니다. 앱 번들의 내용을 변경할 수 없으므로 – rckoenes

1

Default.png는 응용 프로그램 번들 내에 묶어야합니다. 즉, 문서 디렉토리 경로에서 필요한 외부 경로를 통해로드 할 수 없습니다.

맞춤 솔루션 중 하나는 스플래시 페이지로보기를 만들어 스플래시 화면으로 작동하고 일정 시간이 지나면 사라지는 것입니다.

0

당신이하는 일은 당신이 단지 imageview 안에서 이미지를 보여 주려고하는 것처럼 보입니다 - 나는 당신이 할 수 없으므로 기본 스플래시 화면 이미지를 바꾸는 것에 관심이 없지만 당신은해야합니다 :

imgView.image=[UIImage imageWithData:[NSData dataWithContentsOfFile:workSpacePath]]; 
imageView.frame = CGRectMake(0,0,self.view.frame.size.width,self.view.frame.size.height); 
[self.view addSubview:imgView];