새로운 iPhone 6 및 6+의 이미지 해상도, @ 3x 지원 추가?


141

내가 좋아하는 몇 가지 기사와 논의를 보았다 여기에서 하고 여기에 새로운 아이폰은 디스플레이 3 개 배 이미지 @ 사용하는 것을 이미지 해상도에 대해. 사실인가요?

그렇다면 세 개의 이미지를 유지해야한다는 의미입니까? 예를 들어 50 X 50의 이미지가 있는데 새로운 iPhone의 모양을 최적화하려면 3 개의 이미지를 유지해야합니까?

  • 보통 (50 X 50)
  • @ 2x-레티 나 (100 X 100)
  • @ 3x-Retina HD (150 X 150)

아니면 새 휴대 전화에서 @ 2x 이미지 만 사용하고 @ 3x와 같은 것은 없습니까?

샘플 프로젝트를 작성하여 테스트했으며 모든 시뮬레이터가 @ 3x 이미지를 사용하는 것처럼 보이지만 혼란 스럽습니다.

편집하다

여기에 더 많은 정보가 있습니다

  • 3GS (163ppi이므로 보통 사용)
  • 4, 4, 5 및 5 (326ppi이므로 @ 2x 사용)
  • 6 (326ppi이므로 @ 2x를 사용하는 것 같습니다)
  • 6 플러스 (401ppi는 혼란 스러움)

편집하다

Tsob과 nitin의 답변을 기반으로 @ 3x 이미지를 프로젝트에 추가했습니다.

정보 편집

iPhone 6의 해상도가 더 높지만 @ 2x 이미지를 사용하는 이유에 대해 혼란스러워하는 사용자는 거의 없습니다.

iPhone 6의 해상도는 다를 수 있지만 픽셀 당 밀도 (PPI)는 동일합니다

  • 해상도 는 절대 픽셀 수와 관련이 있습니다.
  • 밀도 (일명 PPI)는 iPhone 6 및 이전 iPhone의 경우와 같지만 iPhone 6 plus에서는 다른 인치당 픽셀 수와 관련이 있습니다.

이 스레드에서 여기에 대해 더 자세히 확인하십시오.

따라서 iPhone 6은 동일한 PPI를 가지고 iPhone 6 plus는 @ 3x를 사용하므로 iPhone 4, 5 및 5S와 동일한 @ 2x 이미지를 사용합니다.


그렇다면 Retina 4 2x를 사용하는 장치가 없다면 어떻게 사용합니까?
Mrunal

1
4, 5 및 6 iPhone의 밀도는 동일하지만 다른 해상도 문제를 해결하는 방법에 동의합니다. 640x960과 750 × 1334 픽셀의 큰 차이입니다. 전체 화면을 오버레이하는 배경 이미지를 사용해야하는 경우 이 경우 이미지 xcassets를 어떻게 설정합니까?
Matrosov Alexander

@MatrosovAlexander 어떻게 해결 했습니까?
Mário Carvalho

해결 방법으로 @ 2x 이미지에도 iphone 6 이미지를 사용했지만 xcode에 적절한 이미지가없는 것으로 나타났습니다
Matrosov Alexander

답변:


54

샘플 프로젝트에서 표준 @ 2x 및 @ 3x 이미지를 사용하려고 시도했으며 iPhone 6+ 시뮬레이터는 @ 3x 이미지를 사용합니다. 그렇게 보일 수있을 것입니다 배 이미지 (시뮬레이터는 실제 장치의 동작을 복제하는 경우) 할 수 @ 있다는 것을. 그러나 이상한 점은 모든 장치 (시뮬레이터)가 프로젝트 구조, iPhone 4S / iPhone 5에도있을 때이 @ 3x 이미지를 사용하는 것 같습니다.
잠재적 인 @ 3x 구조에 대한 Apple의 의사 소통 부족은 개발자가 iOS8 앱을 게시하도록 요청하는 반면, 특히 시뮬레이터에서 이러한 결과를 볼 때 매우 혼란 스럽습니다.

** Apple 웹 사이트에서 편집 ** : Apple 개발자 공간의 "iOS 8의 새로운 기능"섹션에서도이 내용을 찾을 수 있습니다.

새로운 화면 크기 지원 iPhone 6 Plus는 화면 크기가 3.0 인 새로운 Retina HD 디스플레이를 사용합니다. 이러한 장치에서 최상의 경험을 제공하려면이 화면 크기에 맞게 설계된 새로운 아트 워크를 포함하십시오. Xcode 6에서 자산 카탈로그에는 1x, 2x 및 3x 크기의 이미지가 포함될 수 있습니다. 새로운 이미지 자산을 추가하기 만하면 iOS가 iPhone 6 Plus에서 실행할 때 올바른 자산을 선택합니다. iOS의 이미지 로딩 동작은 @ 3x 접미사도 인식합니다.

모든 장치가 @ 3x를로드하는 것처럼 보이는 이유를 여전히 이해하지 못합니다. 어쩌면 xcassets가 아닌 일반 파일을 사용하고 있기 때문일 수 있습니다. 곧 시도합니다.

추가 테스트 후 편집 : Ok iOS8에 관한 이야기가있는 것 같습니다. iOS 7.1 iPhone 5 시뮬레이터에서 테스트 할 때 @ 2x 이미지를 올바르게 사용합니다. 그러나 iOS 8에서 동일하게 시작하면 iPhone 5에서 @ 3x를 사용합니다. iOS8 GM의 원하는 동작이나 실수 / 버그 또는 Xcode 6의 시뮬레이터인지 확실하지 않습니다.


2
네, 시뮬레이터 테스트, 모든 장치는 참으로 혼란 배 이미지 @ 걸릴
Bhumit 메타

결론적 으로 오늘날 가장 좋은 경로는 이미지 이름에 "@ 2x"를 사용하지만 6 Plus에 대한 장치 검사 및 "@ 3x"없이 3x 이미지를 사용하여 2x 장치를 독살하지 않는 것입니다.
darkheartfelt

iPhone 6의 3 배 선택은 문제의 자산이 PNG 대신 JPG 인 경우에만 발생합니다.
emreberge

102

최신 정보:

애플의 아이콘 이미지 크기에 대한 새로운 링크.

https://developer.apple.com/ios/human-interface-guidelines/graphics/image-size-and-resolution/

여기에 이미지 설명을 입력하십시오


그렇습니다. 여기에서 Apple은 아이콘 또는 이미지 크기 에 관한 공식 문서를 제공 합니다.

여기에 이미지 설명을 입력하십시오

iPhone6 ​​및 iPhone6 ​​+ 용 이미지 를 설정해야합니다

iPhone 6의 경우 :

750 x 1334 (@2x) for portrait

1334 x 750 (@2x) for landscape

iPhone 6 Plus의 경우 :

1242 x 2208 (@3x) for portrait

2208 x 1242 (@3x) for landscape

이미지 및 해상도에 대한 자세한 내용은 가장 유용한 게시물입니다.

컨트롤의 이미지 크기를 설정하려면 다음과 같이 1x @ 2x 및 @ 3x를 설정할 수 있습니다.

여기에 이미지 설명을 입력하십시오


8
모든 기기가 retina 2x 또는 3x 인 경우 자산 카탈로그가 iOS 7/8에서만 iPhone을 대상으로하는 프로젝트에서 1x 이미지를 요구하는 이유는 무엇입니까? 말도 안 돼.
Duck

1
iphone4 @RubberDuck의 경우 :) ipad 2와 iPad Mini, 1x가 필요함을 참조하십시오
Nitin Gohel

미안하지만 내가 쓴 것을 읽지 못했습니다. iOS 7의 iPhone 전용 프로젝트에 대해 이야기하고 있습니다 .iOS 7을 실행할 수있는 1x의 iPhone은 없지만 자산 카탈로그는 여전히 그것을 요구합니다.
Duck

@RubberDuck 이미지 자산을 선택한 다음 Xcode의 오른쪽에있는 유틸리티 창을 봅니다. 탭 중 하나에는 확인란이 있습니다. 자산에 확인란이 너무 많이 선택되어 1x가 옵션으로 표시 될 수 있습니다.
rmaddy


10

샘플 프로젝트를 작성하여 테스트했으며 모든 시뮬레이터가 @ 3x 이미지를 사용하는 것처럼 보이지만 혼란 스럽습니다.

이미지 자체가 어떤 버전인지 알려주도록 자산 카탈로그에 다른 버전의 이미지를 작성하십시오.

여기에 이미지 설명을 입력하십시오

이제 각 시뮬레이터에서 앱을 차례로 실행하십시오. 3x 이미지는 iPhone 6 Plus에서만 사용됩니다.

이미지 를 호출 하고 이미지보기에 할당하여 이미지가 이름 (예 : one.png , one@2x.pngone@3x.png )을 사용하여 앱 번들 에서 가져온 경우에도 마찬가지imageNamed: 입니다.

(그러나 Interface Builder에서 이미지보기에 이미지를 할당하면 차이가 있습니다. 2 배 버전은 이중 해상도 장치에서는 무시됩니다. 버그로 추정되는 버그 일 수 pathForResource:ofType:있습니다.)


1
자산을 "범용"으로 표시 했으므로 일관된 동작이 나타납니다. 대신 드롭 다운 메뉴에서 "장치 별"을 선택하십시오!
Nikolay Spassov

1
@RalphZhouYuan 이제는 잘 작동합니다. 2x 버전은 표시 되지 않지만 1x 버전을 지정하면 2x 또는 3x 버전이 올바르게 사용됩니다. 또는 자산 카탈로그를 사용하십시오.
matt

1
@RalphZhouYuan 다음은 다운로드 가능한 예제입니다. github.com/mattneub/Programming-iOS-Book-Examples/tree/master/…- 앱 번들의 이미지 파일과 자산 카탈로그의 이미지 파일을 모두 표시하며 모두 올바르게 작동합니다.
matt

3
@ matt 마침내 내 문제가 내 앱의 배포 대상 설정 (6.0) 과 관련이 있음을 발견했습니다 . stackoverflow.com/questions/26333278/… 라는 질문을 열고 Apple에 버그 보고서를 발행했습니다.
inexcii

1
@RalphZhouYuan 와우, 훌륭한 탐정 작업 추적! 보고 해 주셔서 감사합니다.
matt

2

ios는 항상 최상의 이미지를 얻으려고 시도하지만 다른 옵션으로 넘어갑니다. 따라서 앱에 일반 이미지 만 있고 @ 2x 이미지가 필요한 경우 일반 이미지를 사용합니다.

프로젝트에 @ 2x 만 넣고 일반 장치에서 앱을 열면 이미지가 표시되도록 축소됩니다.

ios7 및 ios8 장치를 대상으로하고 최상의 품질을 원한다면 레티 나 폰이없고 @ 3x ipad가 없기 때문에 전화의 경우 @ 2x 및 @ 3x, ipad 자산의 경우 @ 2x가 필요합니다.

어쩌면 벡터 그래픽에서 응용 프로그램의 자산을 만드는 것이 좋습니다 ... http://mattgemmell.com/using-pdf-images-in-ios-apps/


앱의 벡터에 놀라운 PaintCode를 사용하십시오
Fattie
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.