Jak Mogę dodać pliki JPEG do katalogu zasobów w Xcode?

Czy można dodawać zasoby inne niż pliki PNG do katalogu zasobów Xcode?

Gdy przeciągam pliki JPEG do katalogu zasobów, nie są one akceptowane przez interfejs użytkownika.

Author: Charles, 2013-09-13

6 answers

Można dodać zasoby inne niż PNG, ręcznie edytując reprezentację JSON zasobu. Najprostszym sposobem jest skopiowanie istniejącego zasobu i zmodyfikowanie go:

  1. kliknij prawym przyciskiem myszy istniejący zasób i wybierz Pokaż w Finderze
  2. skopiuj i wklej istniejący .imageset element i zmień jego nazwę, np. my_image.imageset
  3. Kliknij dwukrotnie nowy .imageset
  4. Usuń wszystkie istniejące obrazy w folderze
  5. Kopiuj pliki JPEG
  6. Edytuj plik Contents.json, zastępując wartości dla filename klucz z nazwami plików JPEG

Twój Contents.json będzie wyglądał mniej więcej tak:

{
  "images" : [
    {
      "idiom" : "universal",
      "scale" : "1x",
      "filename" : "my_image.jpg"
    },
    {
      "idiom" : "universal",
      "scale" : "2x",
      "filename" : "[email protected]"
    }
  ],
  "info" : {
    "version" : 1,
    "author" : "xcode"
  }
}

Pamiętaj, aby odnieść się do obrazu po nazwie, bez rozszerzenia:

[UIImage imageNamed:@"my_image"]

To podejście będzie działać dla GIF-ów i innych zasobów, ponieważ są one po prostu kopiowane do głównego pakietu aplikacji w czasie kompilacji. Warto zauważyć, że obrazy kończą się rozszerzeniem png po skopiowaniu do pakietu, ale nadal ładują się poprawnie.

 45
Author: David Snabel-Caunt,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-09-13 12:16:47

Od Xcode 6.1 obrazy JPG mogą być teraz dodawane do katalogu zasobów. Kroki do dodania to:

  1. Eksportuj JPG w pożądanej jakości, używając tych samych konwencji nazewnictwa, co w przypadku PNGs (tj. heart.jpg [email protected] [email protected])
  2. przeciągnij pliki JPG do katalogu zasobów z programu Finder i dodaj dowolne ustawienia splicingu lub urządzenia do zasobu
  3. Zmień "Render As" NA "oryginalny obraz" dla wszystkich plików JPG (w przeciwnym razie będą one puste w symulatorze i na urządzeniu)
 33
Author: Kevin Sylvestre,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-11-06 03:46:06

Wygląda na to, że możesz teraz przeciągać i upuszczać pliki JPEG w Xcode 6.0 Beta

 11
Author: onbek,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-06-27 18:06:30

W Xcode 6.x można przeciągać i upuszczać pliki JPEG do katalogu zasobów. Jeśli tworzysz interfejs z zasobu, upewnij się, że używasz.rozszerzenie jpg jak tak:

[UIImage imageNamed:@"myimage.jpg"];

Jeśli rozszerzenie nie jest dołączone, obraz będzie po prostu biały / pusty.

 4
Author: gavdotnet,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-11-09 19:49:58

Możesz również zmienić nazwę swojego obrazu.jpg do obrazu.png jeśli nie chcesz zmieniać zawartości.plik json. Obrazy można następnie dodawać do katalogu zasobów, nawet jeśli wewnętrznie nadal są to pliki jpeg. Można nawet pokroić je za pomocą Xcode.

Po skompilowaniu aplikacji wszystkie aktywa przechodzą do aktywów.akta samochodu. Nie zweryfikowałem, czy w tym momencie zostaną przekonwertowane na png.

 1
Author: Carlos Parada,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-03-27 00:38:13

Spróbuj tego. Szybko zaimportuj Skrypty zasobów, aby rozwiązać problemy z szybkością importu i zmianą nazwy. https://github.com/qdvictory/happyxcasset

 0
Author: Seamus,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-07-09 02:59:07