Yeni iPhone 6 ve 6+ için görüntü çözünürlüğü @ 3x desteği eklendi mi?


141

Yeni iPhone'ların görüntülemek için @ 3x görüntülerini kullanacağı görüntü çözünürlükleri hakkında burada ve Burada gibi birkaç makale ve tartışmaya baktım . Bu doğru mu?

Yani bu üç görüntü tutmamız gerektiği anlamına mı geliyor? Örneğin, 50 X 50 resmim var, yeni iPhone'ların görünümünü optimize etmek için 3 resim tutmam gerekecek mi?

  • Normal (50 X 50)
  • @ 2x - Retina (100 X 100)
  • @ 3x - Retina HD (150 X 150)

Yoksa yeni telefonlar sadece @ 2x görüntüler kullanacak mı ve @ 3x gibi bir şey yok mu?

Örnek bir proje yaparak test ettim ve tüm simülatörler @ 3x görüntüleri kullanıyor gibi görünüyor, bu kafa karıştırıcı.

Düzenle

İşte biraz daha bilgi

  • 3GS (163 ppi yani Normal kullanın)
  • 4, 4s, 5 ve 5s (326 ppi yani 2x kullanıyoruz)
  • 6 (326 ppi yani @ 2x kullanacak gibi görünüyor)
  • 6 artı (401 ppi burada karışıklık yatıyor)

Düzenle

Tsob ve nitin tarafından verilen Yanıtlara dayanarak, projeme @ 3x görüntü ekledim.

Bilgilendirici Düzenleme

İPhone 6'nın daha yüksek çözünürlüğe sahip olmasına rağmen neden @ 2x görüntüleri kullandığına dair çok az kullanıcının kafasını karıştırıyorum

iPhone 6 farklı çözünürlüğe sahip olabilir, ancak piksel başına aynı yoğunluğa (PPI) sahiptir.

  • Çözünürlük mutlak piksel sayısıyla ilgilidir.
  • Yoğunluk (diğer adıyla inç başına piksel - PPI), iPhone 6 ve önceki iPhone'larda aynı olan, ancak iPhone 6 plus'ta farklı olan inç başına göreli piksel sayısıyla ilgilidir.

Bu konuda bu konuda daha fazla bilgiye buradan ulaşabilirsiniz

Bu nedenle iPhone 6, aynı PPI'ya ve iPhone 6 plus @ 3x'i kullandığı için iPhone 4, 5 ve 5S ile aynı @ 2x görüntü kullanıyor.


Peki Retina 4 2x'in kullanımı, cihazın hiçbiri kullanılmıyorsa?
Mrunal

1
Yoğunluğun 4, 5 ve 6 iPhone'lar için aynı olduğunu kabul ediyorum, ancak farklı çözünürlük sorununu nasıl çözebilirim? Yani büyük fark 640x960 ve 750 × 1334 piksel. Tüm ekranı kaplayan arka plan resmi kullanmam gerekirse. Bu durumda görüntü x kasetlerini nasıl ayarlayabilirim?
Matrosov Alexander

@MatrosovAlexander bunu nasıl çözdünüz?
Mário Carvalho

geçici çözüm olarak ben de 2x görüntü için iphone 6 görüntü kullandım ama xcode bunun için uygun bir görüntü yok starnge
Matrosov Alexander

Yanıtlar:


54

Standart, @ 2x ve @ 3x görüntüleri kullanmak için örnek bir projede denedim ve iPhone 6+ simülatörü @ 3x görüntüsünü kullanıyor. Bu yüzden yapılacak 3x görüntü var gibi görünüyor (eğer simülatör cihazın davranışını gerçekten kopyalıyorsa). Ama garip olan şey, tüm cihazların (simülatörler) proje yapısı, iPhone 4S / iPhone 5'de de bu 3x görüntüyü kullanıyor gibi görünüyor.
Apple'ın potansiyel bir 3x yapısı üzerinde iletişim eksikliği, geliştiricilerin iOS8 uygulamalarını yayınlamalarını isterken, özellikle bu sonuçları simülatörde gördüğünde oldukça kafa karıştırıcı.

** Apple'ın Web Sitesinden Düzenle **: Bunu ayrıca Apple'ın geliştirici alanındaki "iOS 8'deki yenilikler" bölümünde de bulundu:

Yeni Ekran Ölçeği Desteği iPhone 6 Plus, ekran ölçeği 3.0 olan yeni bir Retina HD ekran kullanıyor. Bu cihazlarda mümkün olan en iyi deneyimi sağlamak için, bu ekran ölçeği için tasarlanmış yeni resimler ekleyin. Xcode 6'da varlık katalogları 1x, 2x ve 3x boyutlarında görüntüler içerebilir; yeni görüntü varlıklarını eklemeniz yeterlidir; iOS, iPhone 6 Plus'ta çalışırken doğru öğeleri seçer. İOS'ta görüntü yükleme davranışı da @ 3x son ekini tanır.

Hala tüm cihazların @ 3x'i neden yüklediğini anlamıyorum. Belki de xcassets değil, normal dosyaları kullanıyorum çünkü? Yakında deneyeceğim.

Daha fazla testten sonra düzenleyin : Tamam, iOS8'in bu konuda bir konuşması var gibi görünüyor. Bir iOS 7.1 iPhone 5 simülatöründe test yaparken, @ 2x görüntüsünü doğru bir şekilde kullanır. Ancak aynı şeyi iOS 8'de başlatırken, iPhone 5'teki @ 3x'i kullanıyor. Bunun iOS8 GM'de istenen bir davranış mı yoksa hata / hata mı, yoksa Xcode 6'da simülatörler mi olduğundan emin değilim.


2
Evet simülatörle test ettim, tüm cihazlar gerçekten 3x görüntü alıyor, kafa karıştırıcı
Bhumit Mehta

Sonuç olarak, bugün itibariyle mümkün olan en iyi yol, görüntü adlarında "@ 2x" kullanmak, ancak bir şekilde 6 Plus için cihaz kontrolü yapmak ve 2x cihazları zehirlememek için "@ 3x" OLMADAN 3x görüntü kullanmak mı?
darkheartfelt

İPhone 6'daki 3x seçeneğinin yalnızca söz konusu varlık PNG yerine JPG olması durumunda gerçekleştiği görülüyor.
emreberge

102

GÜNCELLEME:

Apple tarafından simgeler resim boyutu için yeni bir bağlantı.

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

resim açıklamasını buraya girin


Evet, burada doğru Apple'ın ikonlar veya görüntü boyutu ile ilgili resmi belgeler sağlaması

resim açıklamasını buraya girin

iPhone6 ​​ve iPhone6 ​​+ için resim ayarlamanız gerekiyor

İPhone 6 için:

750 x 1334 (@2x) for portrait

1334 x 750 (@2x) for landscape

İPhone 6 Plus için:

1242 x 2208 (@3x) for portrait

2208 x 1242 (@3x) for landscape

Görüntüler ve çözünürlüğü hakkında daha fazla bilgi için bu en iyi yardımcı yazı

Kontroller için görüntü boyutunu ayarlamak üzere 1x @ 2x ve @ 3x'i aşağıdaki gibi ayarlayabilirsiniz:

resim açıklamasını buraya girin


8
tüm cihazlar retina 2x veya 3x ise varlık kataloğu neden yalnızca iOS 7/8'de iPhone için hedefleme projelerinde 1x görüntü ister? Anlamsız.
Ördek

1
iphone4 @RubberDuck :) için olabilir 1x ihtiyacı olan ipad 2 ve iPad Mini bakın
Nitin Gohel

üzgünüm ama yazdığım şeyi okumadınız. İOS 7 için yalnızca iPhone için çalıştığım bir projeden bahsediyorum. İOS 7 çalıştırabilen 1x'e sahip bir iphone yok ama varlık kataloğu hala bunu istiyor.
Ördek

@RubberDuck Görüntü öğenizi seçin ve ardından Xcode'un sağ tarafındaki yardımcı programlar bölmesini görüntüleyin. Sekmeden birinde bir dizi onay kutusu bulunur. Belki de varlıklarınızda çok fazla onay kutusu seçilmiş olabilir ve bu da 1x'in bir seçenek olarak görünmesine neden olur.
rmaddy


10

Örnek bir proje yaparak test ettim ve tüm simülatörler @ 3x görüntüleri kullanıyor gibi görünüyor, bu kafa karıştırıcı.

Varlık kataloğunuzda, görüntünün kendisinin hangi sürüm olduğunu size söyleyeceği şekilde bir görüntünün farklı sürümlerini oluşturun:

resim açıklamasını buraya girin

Şimdi sırayla her simülatörde uygulamayı çalıştırın. 3x görüntünün yalnızca iPhone 6 Plus'ta kullanıldığını göreceksiniz.

Resimler uygulama adından (ör. One.png , one@2x.png ve one@3x.png ) çağrı yapılarak imageNamed:ve bir görüntü görünümüne atanarak çizilirse de aynı şey geçerlidir .

(Ancak, Arayüz Oluşturucu'da görüntüyü görüntü görünümüne atarsanız bir fark vardır - 2x sürümü çift çözünürlüklü cihazlarda yok sayılır. Bu muhtemelen bir hata, görünüşe göre bir hata pathForResource:ofType:.)


1
Varlığı "evrensel" olarak işaretlediniz, dolayısıyla tutarlı davranışları neden görüyorsunuz? Bunun yerine açılır menüden "cihaza özel" i seçmeyi deneyin!
Nikolay Spassov

1
@RalphZhouYuan Şimdi benim için iyi çalışıyor. Listelenen 2x sürümünü görmezsiniz , ancak sadece 1x sürümünü atarsanız 2x veya 3x sürümü doğru şekilde kullanılır. Veya sadece bir varlık kataloğu kullanın.
matt

1
@RalphZhouYuan İşte indirilebilir örneğim : github.com/mattneub/Programming-iOS-Book-Examples/tree/master/… - hem uygulama paketindeki resim dosyalarını hem de varlık kataloğundaki resim dosyalarını kullanarak görüntüler ve hepsi düzgün çalışır.
matt

3
@matt Sonunda sorunumun, uygulamamın dağıtım hedefi ayarlarıyla (6.0) ilgili olduğunu buldum. Bir soru açtım: stackoverflow.com/questions/26333278/… ve Apple'a bir hata raporu gönderdim.
inexcii

1
@RalphZhouYuan Vay canına, bunu izleyen büyük dedektiflik işi! Geri bildiriminiz için teşekkürler.
matt

2

ios her zaman en iyi görüntüyü almaya çalışır, ancak diğer seçeneklere geri döner .. böylece uygulamada normal görüntülere sahipseniz ve @ 2x görüntülere ihtiyaç duyarsa normal görüntüleri kullanır.

projeye yalnızca @ 2x koyarsanız ve uygulamayı normal bir cihazda açarsanız, görüntüler görüntülenecek şekilde küçültülür.

ios7 ve ios8 cihazlarını hedeflerseniz ve en iyi kaliteyi istiyorsanız, telefon için @ 2x ve @ 3x ve ipad varlıkları için normal ve 2x'e ihtiyacınız olacaktır, çünkü retina olmayan bir telefon kalmadı ve @ 3x ipad yok.

belki uygulamadaki varlıkları vektör grafiğinden oluşturmak daha iyidir ... http://mattgemmell.com/using-pdf-images-in-ios-apps/


sadece uygulamalarda vektörler için inanılmaz PaintCode kullanın
Fattie
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.