2009-05-18 9 views
0

기본 번들에서 로컬 XML 파일을로드 할 수 있지만 이미지를로드 할 수 없습니까?iPhone - 로컬 xml 파일의 로컬 이미지로드

NSString * path = [[NSBundle mainBundle] resourcePath];

/사용자/me/라이브러리/응용 프로그램 지원/iPhone 시뮬레이터/사용자/응용 프로그램/5B888456-40FF-4C72-A2ED-5D5CFA287777/MyApp.app/test를로드하면로드됩니다. XML

이 이미지는 결코 부하 (도 않는 이미지) : /사용자/ME/라이브러리/응용 프로그램 지원/아이폰 시뮬레이터/사용자/응용 프로그램/5B888456-40FF-4C72-A2ED-5D5CFA287777/MyApp.app/배경. png

+1

이미지가로드되지 않는다고 할 때 당신은 무엇을 의미합니까? 어떻게로드하려고합니까? – Ryan

+0

-1. 코드가 충분하지 않고 예상 동작과 실제 동작 (예 : 어설 션이있는 경우)을 나타내는 코드가 없습니다 ... –

답변

3

[UIImage imageNamed:@"background.png"]을 사용할 수 있습니다.

이것은 background.png을로드합니다 (Xcode의 Resources 폴더에 위치).

+0

이미지를로드하는 다른 메서드로 보낼 문자열을 작성하려고합니다.문자열을 취한 다음 사용합니다. NSURL * url = [NSURL URLWithString : imgPath]; 이미지를 검색하기 위해 NSURLConnection을 작성하십시오. 나는 그 소리가 복잡하다는 것을 알고 있지만,로드하려고하는 이미지는 mainBundle에 있거나 없을 수도 있습니다. 이미지가 원격 서버에있는 경우 올바른 URL을 전송하여 이미지를로드하지만 이미지를 주 번들에서로드 할 수 없습니다. 이미지가 mainBundle에 있다면, 어떤 문자열을 메서드에 전달합니까? –

+0

먼저 imageNamed를 확인하고 실패 할 경우 URL을 만드시겠습니까? –

1

두 가지 가능성이 있습니다 :

1) 이미지 파일 이름이 잘못되었습니다. 즉, 파일 이름은 대소 문자를 구분합니다. 그래서 대문자 - 작은 글자의 문제 일 수 있습니다.

2) 이미지 속성에서 대상 이름을 선택 취소했을 수 있습니다. 즉, 이미지가 편집중인 프로젝트의 대상이 아닙니다. 이것을 확인하려면, Xcode의 poject에서 이미지 이름을 마우스 오른쪽 버튼으로 클릭하십시오. - 정보 입수 선택 -> 파일 정보 대화 상자에서 대상 탭 선택 -> 대상 이름 근처에있는 확인란의 상태 확인/s. 경우에 선택/확인하면 이상한 문제가 있습니다. 그러나 이것이 선택되지 않았거나 선택되지 않았다면, 이미지가 컴파일 후에 생성 된 번들 파일에 추가되지 않는다는 것을 의미합니다.

세 번째 가능성은 참조하는 이미지를 추가하지 않았을 수 있습니다. 모든 리소스가 있는지 확인하려면 프로젝트 계층 &을 다시 확인하십시오. 나는 멀리 지금 컴파일러에서 해요

1

뭔가

UIImage *testimg = [UIImage imageNamed:myfilename]; 

if (nil==testimg) [testimg initWithContentsOfURL:myurl]; 

처럼 그래서 나는 당신이 그것을 이미지 만들기 전에있는 NSData 객체에 다운로드해야 할 수도 있습니다 여부를 확인할 수 없습니다. 또한 try ... catch ... finally 블록에 initWithContents ...를 넣어야합니다.

0

안녕 사용하여 다음 코드

[있는 UIImage imageWithContentsOfFile : [[NSBundle mainBundle] pathForResource : @ "배경"ofType : "PNG"@]];

3

경로에 대한 NSURL을 작성하고 있다는 메모에서 말합니다. 로컬 파일 시스템 경로 (예 : 번들의 파일)에 대해이 작업을 수행하려면 NSURL fileURLWithPath:을 사용해야합니다.

+0

하지만 문제는 로컬 이미지를로드하는 것입니다. 따라서 NSURL을 사용하지 않고 UIImage 메서드로 전달할 필요가 없습니다. – Sagar

0

NSURL * imageURL = [NSURL URLWithString : @ "bundle : //background.png"];

관련 문제