2012-01-07 2 views
4

현재 iPhone Xcode 프로젝트에 망막 디스플레이 이미지가 포함되어 있습니다 (정상 크기의 두 배, 접미어 @ 2x.png). iPhone 시뮬레이터 (비 망막)에서 앱을 실행하면 이미지가 계속 표시됩니다. 이것은 망막과 비 망막의 두 세트의 이미지를 포함하는 것에 대해 걱정할 필요가 없다는 뜻입니까?아이폰 프로젝트에서 망막이 아닌 이미지를 표시하지 않습니다.

이 모든 것이 약간 이상하게 보입니다. @ 2x 파일이 포함되어 있지 않으면 비 망막 장치에 이미지가 나타나지 않는다고 가정합니다.

참고 : 비 망막 장치에서 앱을 테스트하지 않았습니다. 그냥 시뮬레이터.

답변

1

하더라도, 그것은 좋은 방법이 아닙니다, 그리고 당신은 확실히 미디어 무거운 응용 프로그램이있는 경우가 그렇고 성능과 배터리 수명과 메모리 풋 프린트와 ....

에 영향을 미칠 것이다, 그것은 단지입니다 사용할 수있는 1x 그래픽이 없거나 앱 (다운로드 크기)이 염려 스럽거나 ...

2

iOS는 @ 2x를 사용하고 비 망막 그래픽이없는 경우 크기를 줄여야합니다. 이는 iOS가 런타임에 스케일링을 수행하게하므로 비 - 망막 그래픽을 포함하는 것보다 느려지므로 iOS는 선택한 그래픽 편집기만큼 스케일링만큼 좋지 않을 수 있습니다. 작동

1

인터페이스 빌더에서 이미지를 할당하고 UIImageView에 이미지 속성을 설정하면 예를 들어, iOS는 고해상도 "2x"이미지라는 것을 알 수 없습니다. 실제로 망막 디스플레이에서 iOS는 [email protected]@2x.png이라는 이미지를 찾습니다. 찾지 못하기 때문에 이미지의 배율 인수를 1.0으로 설정합니다.

contentMode 속성 (XCode의 "모드")은 이미지의 크기 조정이 UIImageView의 제약 조건에 맞게 발생하는지 결정합니다. 모드를 "Aspect Fit"으로 설정하여 망막 및 비 망막 디스플레이 모두에 필요한 고해상도 이미지를 얻을 수 있습니다. 일반적으로 인터페이스 빌더에 표시된대로 이미지가 표시됩니다.

이미지를로드하는 데 UIImage의 imageNamed 또는 유사한 기능을 사용하고 있는데 image ("image.png"은 존재하지 않지만 "[email protected]"는 있지만 "iOS"는 실제로 찾을 것입니다) 비 망막 디스플레이의 이미지. 배율은 1.0이됩니다. 이전처럼보기에 맞게 크기를 조정해야합니다. 이미지는 망막 장치에서 정상적으로 작동하며, 배율은 2.0으로 설정됩니다. iOS는 "2x"이미지를 먼저 찾고, 다른 파일이 존재하는지 여부는 중요하지 않습니다.

imageNamed에 애플의 문서에서 경우 : 장치의 화면은 1.0의 규모가있는 경우 나중에 아이폰 OS 4를 실행하는 장치에

이 동작은 동일합니다. 화면의 눈금이 2.0 인 경우 이 방법은 먼저 동일한 파일 이름 에 @ 2x 접미사가 추가 된 이미지 파일을 검색합니다. 예를 들어, 파일 이름이 단추 인 경우, 먼저 @ 2x 단추를 찾습니다. 2 배가되면 그 이미지는 으로로드되고 반환 된 UIImage 객체의 scale 속성은 으로 2.0으로 설정됩니다. 그렇지 않으면 수정되지 않은 파일 이름을로드하고 축척 속성을 1.0으로 설정합니다. 다른 배율로 이미지를 지원하는 에 대한 자세한 내용은 iOS App 프로그래밍 가이드를 참조하십시오.

가능한 한 실제로는 망막 이미지와 비 망막 이미지를 모두 포함해야합니다. 필요한 것보다 고해상도 이미지를 사용하면 메모리와 성능에 부정적인 영향을 미칩니다.

관련 문제