2014-09-01 12 views
14

Dostaję następujące błędy:Xcode 6 Beta 6 CUICatalog: Nieprawidłowa nazwa atutem dostarczone: (null), lub nieprawidłowy współczynnik skali: 2,000000

CUICatalog: Invalid asset name supplied: (null), or invalid scale factor: 2.000000 
Could not load the "(null)" image referenced from a nib in the bundle with identifier "com.example.project" 

ja otrzymuję błędy odkąd ustawić " wybrany obraz”dla elementu Tab Bar w konstruktorze Interface:

enter image description here

Dodałem plik do Xcode:

enter image description here

Ustawienie zostanie zapisane w pliku Storyboard:

<tabBarItem key="tabBarItem" title="..." image="config.png" selectedImage="config_filled.png" id="5Wh-7m-Y4H"/> 

Używam Xcode 6 Beta 6

wiem o Error: CUICatalog: Invalid asset name supplied: (null), or invalid scale factor : 2.000000 jednak, że nie może mi pomóc.

Co może spowodować, że nazwa zasobu ma wartość zerową? Próbowałem ponownie wyczyścić i naprawić obraz, ale błąd pozostaje (i nie pojawia się żaden obraz).

+0

otrzymuję dokładnie ten sam błąd, i nie wspomina o współczynniku nieprawidłową skalę. Używam katalogów zasobów z wszystkimi dostarczonymi rozmiarami obrazów. Wygląda na to, że jest to określony błąd. Moim ostatecznym rozwiązaniem było po prostu wykluczenie wybranego obrazu, ponieważ nie widzę, że warto dalej poszukiwać. –

+1

Duplikat z http://stackoverflow.com/questions/12672603/could-not-load-the-image-reage--rom-a-nib Odpowiedź jest dostępna. –

+0

@GabrielCartier Proszę uważnie przeczytać moje pytanie, już to sprawdziłem, kiedy zadałem moje pytanie. – idmean

Odpowiedz

-2

Spróbuj pominąć rozszerzenie ".png", które naprawiłoby niektóre problemy z ładowaniem obrazu IB w przeszłość.

+2

Nie pomaga, nadal otrzymuję te same błędy. – idmean

18

mam w końcu skończyło się używając tego kodu paskudny w AppDelegate:

UITabBarController *tabBarController = (UITabBarController *)self.window.rootViewController; 
((UITabBarItem *)tabBarController.tabBar.items[0]).selectedImage = [UIImage imageNamed:@"light_filled"]; 
((UITabBarItem *)tabBarController.tabBar.items[1]).selectedImage = [UIImage imageNamed:@"umbrella_filled"]; 
((UITabBarItem *)tabBarController.tabBar.items[2]).selectedImage = [UIImage imageNamed:@"config_filled"]; 

Mam nadzieję, że Apple będzie naprawić ten błąd wkrótce.

+3

Xcode 6.1 jest na zewnątrz i błąd nadal występuje. :( –

+0

@RudolfAdamkovic Tak, wiem, Dziwne, że Apple nie zauważy/naprawi tego błędu – idmean

+0

Cała sprawa ledwo działa.Tak samo, gdy zaimplementowałem twoje obejście, ukończenie kodu dla Swift przestało działać.Nie komentuje –

29

W Xcode 6.1 niektóre atrybuty w Inspektorze atrybutów nie działały, ale można użyć "Zdefiniowanych przez użytkownika atrybutów środowiska wykonawczego", aby rozwiązać ten problem.

go rozwiązać tak: enter image description here

+2

Próbowałem tego rozwiązania i, w moim konkretnym przypadku działa, dziękuję, @mistyhua. – enreas

+0

To jest genialne.Tutaj jest upvote –

+0

Działa doskonale Mam swoje obrazy w pliku .xcassets – Daniel

-1

Moja szybka obejście powodu braku uzupełniania kodu było to

let secondItem = tabBarController.tabBar.items![1] as UITabBarItem 
    secondItem.selectedImage = UIImage(named: "home-selected") 

ten został wprowadzony w didFinishLaunchingWithOptions w AppDelegate użytkownika.

5

Pozostaw "Wybrany obraz" dla elementu paska kart w Konstruktorze interfejsu pusty powinien usunąć komunikat ostrzegawczy.

+0

Ale nadal nie mam wybranego obrazu? – idmean

+2

W pewien sposób wybrany obraz tutaj nie ma zastosowania do mojej aplikacji. Jedynym sposobem, aby to zadziałało, jest użycie "zdefiniowanych przez użytkownika atrybutów środowiska wykonawczego", podobnie jak powyżej. – NEO

+0

, więc proszę napisać komentarz powyżej. Ta odpowiedź jest sama całkiem bezużyteczna. – idmean

0

Rozwiązanie znalazłem ustawić pozycję obrazu umieszczenie zakładek w Images.xcassets do Render As: Szablon Obraz

ten rozwiązano błędów i ostrzeżeń.

Kredyt trafia do this answer z innego pytania.

+0

To brzmi logicznie, spróbuję tego. – idmean

1

Dla mnie rozwiązaniem było sprawdzić wszystkie UIImageViews w historii, czasami jeśli usuniesz UIImageview i przywrócić im Cmd + Z, obraz w UIImageView staje "Unknown". Myślę, że to błąd, ponieważ nadal można zobaczyć obraz w scenorysie.

Rozwiązanie: Wybierz obraz ponownie w UIImageView w serii ujęć

+0

dziękuję! Kiedy sprawdziłem UIImageView, wyświetla się on z ** Unknown ** teraz usunąłem i działało poprawnie. –

Powiązane problemy