이미지 획득 방법xcassets에서 그림의 경로는?

1540 단어 uiimage

UIImage에서 이미지를 로드하는 방법 및 Images.xcassets가 불러오는 방법에 미치는 영향


그림 캐시


작성된 객체를 시스템 메모리에 캐시할지 여부에 따라 다음과 같은 두 가지 방법으로 객체를 작성할 수 있습니다UIImage.
  • 캐시: + imageNamed: 파일 이름만 입력하면 됩니다.확장자(옵션)만 있으면 됩니다.
  • 캐시하지 않음: + imageWithContentsOfFile:, 파일의 전체 이름(전체 경로+파일 이름)을 입력해야 합니다.

  • 캐시 기능이 있는 경우 객체를 작성하는 단계는 다음과 같습니다.
  • 그림 파일 이름에 따라 캐시 탱크에서 특정한 UIImage 대상을 찾아 존재하고 이 대상을 되돌려줍니다.
  • 존재하지 않으면 bundle에서 그림 데이터를 불러오고 대상을 만들고 되돌려줍니다.
  • 상응하는 그림 데이터가 존재하지 않으면nil로 돌아갑니다.

  • Images.xcassets

    Images.xcassets 앱을 포장한 후 Assets.car 파일의 형식으로 bundle에 나타난다.그 역할은 다음과 같다.
  • @2x, @3x 그림을 자동으로 식별하고 내용은 같지만 해상도가 다른 그림을 통일적으로 관리한다.
  • 그림을 재단하고 스트레칭 처리할 수 있습니다.

  • UIImage bundle에서 그림 자원 불러오기


    주의
  • Images.xcassets의 이미지 자원은 imageNamed: 방법으로만 불러올 수 있고 NSBundlepathForResource:ofType:를 통해 이미지 경로를 얻을 수 없습니다.따라서 Images.xcassets는 저장 시스템에서 자주 사용하는 메모리가 적은 그림 자원을 사용하기에만 적합하다.
  • imageNamed: 방법도 루트 디렉터리에 있는 그림 자원을 불러올 수 있다.
  • imageWithContentsOfFile: 방법을 이용하여 캐시하지 않는 형식으로 그림을 불러오려면 그림 자원을 에 두어야 한다.
  • jpg에 비해 iOS는 png에 대한 지원이 비교적 좋다. 예를 들어 Images.xcassets 이외의 곳에서 그림을 불러오면 파일 이름 뒤에 확장자를 붙여야 한다. 예를 들어
  • // pic.jpg 
    [UIImage imageNamed:@"pic"]; //  , 
    [UIImage imageNamed:@"pic.jpg"]; //  
  • 좋은 웹페이지 즐겨찾기