Skocz do zawartości

Witaj!

Zaloguj lub Zarejestruj się aby uzyskać pełny dostęp do forum.

Zdjęcie
- - - - -

Rozdzielczość background


  • Zaloguj się, aby dodać odpowiedź
3 odpowiedzi w tym temacie

#1 Wojtekf6

Wojtekf6
  • 31 postów

Napisano 17 marca 2015 - 19:10

Witam,
Jestem początkującym i tworzę pierwszą prostą aplikację. Chcę dodać do niej swój background. I mam pytanie. Jakiej rozdzielczości musi być obrazek, żeby pasował do wszystkich modeli iPhone (4, 4s, 5, 6, 6 plus)? Znalazłem stronę z rozdzielczościami ekranu (http://www.idev101.c...face/sizes.html). Czy muszę robić 6 obrazków z różnymi rozdzielczościami? Jak potem dodać je tak aby do odpowiedniego modelu dobierało odpowiednią rozdzielczość? Czy może wystarczy 1 obrazek, a Xcode sam dopasuje rozdzielczości (fajnie by było, ale wątpię) :D ?



#2 Gość_oneghost_*

Gość_oneghost_*

Napisano 17 marca 2015 - 19:25

Powinieneś mieć obrazek w 3 wersjach:

- Zwykły dla wyświetlaczy bez retiny

- Dokładnie 2x większy dla retiny

- Dokładnie 3x większy dla iPhone 6 i 6 Plus

 

Nazywasz je np:

Obrazek.png, Obrazek@2x.png i Obrazek@3x.png

 

Potem w XCode masz "katalog" Images.xcesset i tam trzymane są wszystkie obrazki. Przerzucasz tam wszystkie 3 na raz, albo po kolei tylko na odpowiednie miejsca i stworzy ci się obrazek w 3 wersjach rozdzielczości. Potem używasz obrazka używając tylko jego nazwy "Obrazek" (bez @2x i bez .png).

 

Tylko tutaj jedna kwestia - nie chodzi tutaj o samą rozdzielczość, tylko o rodzaj retiny. Czyli np. nie odróżni ci to obrazka dla 4s i 5 - obydwa użyją @2x.

Jeśli chcesz tak dokładnie dopasować, to możesz już w kodzie sprawdzić rozdzielczość za pomocą:

 

CGRect screenBounds = [[UIScreen mainScreen] bounds]; // Wymiary ekranu w punktach

CGFloat screenScale = [[UIScreen mainScreen] scale];  // Skala

CGSize screenSize = CGSizeMake(screenBounds.size.width * screenScale, screenBounds.size.height * screenScale); // Rozdzielczość


  • Wojtekf6 lubi to

#3 Wojtekf6

Wojtekf6
  • 31 postów

Napisano 17 marca 2015 - 19:32

Dzięki za odpowiedź :)

"Zwykły dla wyświetlaczy bez retiny" ? czyli 480x320 ? czy ile ? :)

A i mam jeszcze jedno pytanie :)
Gdy tworzę w storyboard wygląd mojej aplikacji (dodaje buttony, textField, label itd.) to gdy uruchamiam np. na symulatorze dla 3,5" ucina mi ekran. Jak stworzyć interfejs aplikacji żeby pasował do każdego ekranu ? :)



#4 Gość_oneghost_*

Gość_oneghost_*

Napisano 18 marca 2015 - 10:16

Poczytaj o autolayout https://developer.ap...troduction.html

i size class https://developer.ap...zes/_index.html


Użytkownik oneghost edytował ten post 18 marca 2015 - 10:17

  • wojtkow i Wojtekf6 lubią to




Użytkownicy przeglądający ten temat: 1

0 użytkowników, 1 gości, 0 anonimowych