2015-03-30 10 views
31

Jestem nowym użytkownikiem Swift i chcę załadować specjalny obraz z zasobów. Na przykład mam:Jak załadować określony obraz z zasobów za pomocą Swift

image 1 for iphone 4s = [email protected] 
image 2 for iphone 5/5s = [email protected] 
image 3 for iphone 6s = [email protected] 

i chcę, aby załadować dla iPhone 6 danego obrazu jak

self.GSquare = SKSpriteNode(imageNamed: "./Images.xcassets/[email protected]") 

Czy to możliwe?

+0

Wystarczy, że będzie to "zielony kwadrat" Retina ". – AdamPro13

+0

brak obciążenia obrazu przy użyciu 3 obrazów o różnej wielkości. – Ghost

+0

Jaka jest nazwa Twojego obrazu w pliku Images.xcassets? –

Odpowiedz

61

Nie należy załadować zdjęcia bezpośrednio z @2x lub @3x, system wybiera odpowiedni obraz automatycznie, trzeba tylko podać nazwę, jak UIImage(named: "green-square-Retina")

+0

"zielony kwadrat-Retina" nie ładuje się – Ghost

+1

Upewnij się, że jest tam i ma 'png' rozszerzenie – Azat

+0

tak jest tam i ładuje się automatycznie dla iPhone 5/5s, ale chcę go również używać dla iPhone 6, ponieważ iphone 6 ładowanie rozmiaru obrazu iphone 4s, więc wykonałem wykrywanie dla bieżącego rozmiaru ekranu, więc mogę wiedzieć, że używane obecnie urządzenie to iphone 6, a następnie ładuję obraz siatkówki. – Ghost

0

Możesz łatwo wybrać obraz z aktywów bez UIImage(named: "green-square-Retina").

Zamiast tego należy użyć obiektu obrazu bezpośrednio z pakietu.
Rozpocznij wpisywanie nazwy obrazu, a otrzymasz sugestie z rzeczywistym obrazem z paczki. Jest to zalecana praktyka i mniej podatna na błędy.

Zobacz odpowiedź od Stackoverflow pod numerem this.

Powiązane problemy