2014-09-01 18 views
14

sto ottenendo i seguenti errori:Xcode 6 Beta 6 CUICatalog: non valido Nome risorsa in dotazione: (null), o fattore di scala non valida: 2,000 mila

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" 

I' m ricevendo gli errori da quando ho messo una " Immagine selezionata" per un Tab Bar elemento in Interface Builder:

enter image description here

ho aggiunto il file in Xcode:

enter image description here

L'impostazione viene scritto nel file storyboard:

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

sto usando Xcode 6 Beta 6

che so di Error: CUICatalog: Invalid asset name supplied: (null), or invalid scale factor : 2.000000 ma questo non mi aiuta.

Cosa potrebbe causare che il nome dell'asset sia nullo? Sono rientrato nel nome dell'immagine, ho provato anche con la pulizia e la ricostruzione ma l'errore rimane (e nessuna immagine appare)

+0

sto ottenendo esattamente lo stesso errore, e non si parla di un fattore di scala non valido. Sto usando i cataloghi delle risorse con tutte le dimensioni di immagine fornite. Questo sembra essere un bug preciso. La mia soluzione finale era semplicemente escludere l'immagine selezionata, poiché non vedo che valga la pena proseguire ulteriormente. –

+1

Duplicato da http://stackoverflow.com/questions/12672603/could-not-load-the-image-referenced-from-a-nib La risposta è lì. –

+0

@GabrielCartier Si prega di leggere attentamente la mia domanda, ho già controllato che quando ho fatto la mia domanda. – idmean

risposta

-2

Provare a lasciare fuori l'estensione ".png", che avrebbe risolto alcuni problemi di caricamento dell'immagine IB nel passato.

+2

Non aiuta, sto ancora ricevendo gli stessi errori. – idmean

18

ho finalmente finito per usare questo codice brutto in 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"]; 

Speriamo che Apple risolverà questo bug al più presto.

+3

Xcode 6.1 è fuori e il bug è ancora presente. :( –

+0

@RudolfAdamkovic Sì, lo so.Strange che Apple non si accorga/corregge questo bug – idmean

+0

L'intera cosa funziona a malapena Solo quando ho implementato la soluzione, il completamento del codice per Swift ha smesso di funzionare Nessun commento –

29

In Xcode 6.1, alcuni attributi in Attributes Inspector non funzionavano, ma è possibile utilizzare "Attributi di runtime definiti dall'utente" per risolvere questo problema.

ho risolto in questo modo: enter image description here

+2

Ho provato questa soluzione e, nel mio caso particolare Grazie, @mistyhua. – enreas

+0

Questo è genio.Qui ha un upvote. –

+0

funziona perfettamente.Ho avuto le mie immagini in un file .xcassets. – Daniel

-1

mio rapida soluzione a causa della mancanza di completamento del codice è stato questo

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

Questo è stato messo in didFinishLaunchingWithOptions del AppDelegate.

5

Lasciare l'immagine selezionata per un elemento della barra delle schede in Interface Builder vuoto dovrebbe rimuovere il messaggio di avviso.

+0

Ma poi non ho ancora un'immagine selezionata? – idmean

+2

In qualche modo l'immagine selezionata qui non si applica alla mia app. L'unico modo per farlo funzionare è utilizzare "Attributi runtime definiti dall'utente" esattamente come sopra. – NEO

+0

quindi si prega di inviare un commento sopra. Questa risposta è da sola piuttosto inutile. – idmean

0

La soluzione che ho trovato è stato quello di impostare la voce dell'immagine barra delle linguette in Images.xcassets per Render come: Modello Immagine

Ciò ha risolto gli errori e gli avvisi.

Il credito va a this answer da un'altra domanda.

+0

Sembra logico, lo proverò – idmean

1

Per me la soluzione era di controllare tutti i vostri UIImageViews in storia, a volte se si elimina UIImageview e permette di ripristinarle con Cmd + Z, l'immagine nel UIImageView diventa "Unknown". Penso che sia un bug, dal momento che puoi ancora vedere l'immagine nello storyboard.

Soluzione: Selezionare nuovamente l'immagine nel UIImageView in storyboard

+0

grazie! Quando ho controllato UIImageView, è mostrato con ** Unknown ** ora ho rimosso e funzionante. –

Problemi correlati