Zrobiłem aplikację o określonej funkcjonalności i pewnym graficznym wyglądzie.Kod X 4: Wiele celów, wiele zasobów Foldery z obrazami o tej samej nazwie, które można wykorzystywać ze współużytkowanym Xib?
Na przykład niestandardowa komórka widoku tabeli jest ładowana z pliku Xib i ma UIImageView jako obraz tła, załadowany różowym obrazem ("customcell.png") z grupy zasobów.
Teraz skopiowałem oryginalny obiekt docelowy, aby utworzyć niebieską wersję aplikacji. Nowy obiekt docelowy używa własnego pliku Info.plist z własnym identyfikatorem pakunku.
Chciałem UIImageView wewnątrz pliku Xib, aby użyć tej samej nazwy pliku ("customcell.png"), ale weź niebieską wersję customcell.png, jeśli niebieski cel został zbudowany.
Wiem, że nie możesz mieć plików o tej samej nazwie w projekcie, nawet jeśli umieścisz go w grupie (żółty folder), ponieważ jest to tylko folder logiczny.
Stworzyłem więc 2 niebieskie foldery (nazywane "niebieskim" i "różowym"), z których każdy jest powiązany z właściwym obiektem docelowym. Umieściłem niebieską wersję "customcell.png" w folderze "niebieskim" i różową wersję "customcell.png" w folderze "różowym".
Usunąłem oryginalny "customcell.png" z projektu, pozostawiając tylko 2 kopie, które znajdują się w nowych folderach.
W Konstruktorze interfejsów, UIImageView zniknął pusty (odkąd usunąłem oryginalny plik obrazu), więc ponownie wybrałem "customcell.png" z rozwijanej listy. Pokazał tylko 1 plik o tej nazwie (nie 2), i jest niebieski (nie wiem dlaczego).
Jednak, kiedy budować któregokolwiek z celów, dostaję pustą UIImageView i ostrzeżenie:
Nie można załadować „customcell.png” obraz odwołuje ze stalówką w wiązce z identyfikatorem " com.myapp.blueversion”
(lub pinkversion)
Więc w zasadzie moje pytanie brzmi, jak mogę używać różnych obrazów z tej samej nazwie, powiązane z różnymi obiektami docelowymi, , ale mające 1 plik Xib, który ładuje je odpowiednio?
Dziękuję bardzo!
Czy pamiętasz, aby przypisać je do ich różnych celów? –
Tak (przy tworzeniu przypisałem niebieskie foldery, nie mogę przypisać poszczególnych plików w środku) ... Jak się wydaje, IB nie może dostać się do tych niebieskich folderów. Udało mi się to zrobić za pomocą #IFDEF wewnątrz klasy CustomeCell, wskazując odpowiedni niebieski folder, ale to by oznaczało, że wiele z tych #IFDEFów jest potrzebnych, i miałem nadzieję, że zrobię to poprzez IB zamiast dodawać wiele IFs ... Jeśli ktoś zna sposób, byłoby to docenione. Dzięki. –