2012-03-07 11 views
69

Firma Apple zaprezentowała nowy iPad obsługujący grafikę siatkówki.Jak obsługiwać grafikę siatkówki na iPadzie i iPhonie w aplikacjach uniwersalnych?

Widziałem this link retina graphic in apple apps. Jak widać jabłko wystarczy użyć przyrostka "@ 2x" na wyświetlaczu iPoda Retina.

Mam uniwersalną aplikację. Jak więc obsługiwać siatkówkę w nowym iPadzie i telefonie? Czy iPad Retina będzie używać przyrostka "@ 2x" podobnego do iPada?

+0

@ 2x to przyrostek, a nie przedrostek i oczywiście siatkówki iPad wykorzystuje ją, ponieważ ma dokładnie te podwojone wymiary wyświetlacza – Felix

+0

ale co zrobić, jeśli mam zarówno iPhone i iPad. Sprawdź, czy ten iPhone użyje na przykład image-iphone else image-ipad? – rowwingman

+0

zobacz tę odpowiedź http://stackoverflow.com/a/3184200/550177 musisz użyć UIInterfaceIdiom() – Felix

Odpowiedz

138

Właśnie stworzyłem aplikację testową i przetestowałem.

Więc dla urządzeń bez siatkówki:
ImageName.png - dla iPhone/iPod
ImageName~ipad.png - Dla iPad

W przypadku urządzeń z wyświetlaczem siatkówki:
[email protected] - dla iPhone/iPod
[email protected]~ipad.png - Na iPada

Nadal można korzystać z funkcji @ 2x, jeśli obraz o wysokiej rozdzielczości i obraz wysokiej rozdzielczości iPada mają ten sam rozmiar.
Aby załadować obraz, po prostu przetestuj go na symulatorze iOS na iOS 5.1, 5.0 i 4.3.
Przy okazji, dlaczego powinieneś używać @ 2x i nic więcej.

Najważniejsze, ponieważ nie należy używać tej samej grafiki na iPhonie i iPadzie, ponieważ iPhone i iPad mają inny rozmiar. A jeśli użyjesz tego samego rozmiaru, grafika zrobi już dla ciebie ekran iPada Retina (jeśli wcześniej korzystasz z iPhone'a Retina). Jeśli będziesz mieć obrazy o różnej wielkości, użyjesz różnych nazw obrazów dla iPhone'a i iPada. Więc po tej stronie wystarczy dodać przyrostek @ 2x. Dlatego powinieneś użyć tylko przyrostka @ 2x. - to są moje myśli.

+25

Uważaj na przypadek litery P, miałem problemy z pisaniem ~ iPada lub ~ iPhone'a, dziwnie działa to z symulatorem, ale nie z prawdziwym urządzeniem. Ponadto odkryłem, że jeśli nie masz wersji @ 2x ~ ipad, nowy iPad użyje wersji @ 2x, która w tym przypadku jest plikiem siatkówki iPhone'a. Weź to również pod uwagę ... – LightMan

+5

Symulator nie rozróżnia wielkości liter (częstą przyczyną problemów przy pierwszej dystrybucji na urządzenie), dlatego działa na symulatorze niezależnie od obudowy – Matt

+4

Dokument dla tego: http://developer.apple .com/biblioteka/ios/# documentation/2DRysowanie/Conceptual/DrawingPrintingiOS/SupportingHiResScreens/SupportingHiResScreens.html # // apple_ref/doc/uid/TP40010156-CH15-SW8 –

6

Zauważyłem, że iPad iPad mini/non retina sprzęt, nie symulator, spadł z powrotem na ImageName.png, a nie ImageName ~ ipad.png, jak można by oczekiwać od odpowiedzi wierszyni.

Patrząc na docs, odniesione w innym StackOverflow question przez Nate, wydaje się, że dołączenie urządzenia do iPhone zdjęć jest poprawny sposób to zrobić.

MyImage.png - Domyślna wersja zasobu obrazu.

[email protected] - Wersja obrazu o wysokiej rozdzielczości dla urządzeń z wyświetlaczem Retina.

MyImage ~ iphone.png - Wersja obrazu dla telefonu iPhone i odtwarzacza iPod touch.

[email protected]~iphone.png - Obraz w wysokiej rozdzielczości dla urządzeń iPhone i iPod touch z wyświetlaczem Retina.

Image, Sound, and Video Resources

Powiązane problemy