2016-06-11 28 views
19

ho cercato di aggiungere una classe personalizzata al mio tavolo delle cellule di vista, ma dopo ho aggiunto che dà il seguente errore:schermi lancio non possono fissare classnames personalizzati

enter image description here

Leggo spesso che posso' t utilizzare le classi personalizzate nel LaunchScreen ma non ho toccato questo file. Qualcuno può aiutarmi?

enter image description here

Questo sono le mie impostazioni generali per la principale e l'interfaccia di lancio.

Sto usando Swift.

+0

Prova Clean Build Cmd + Opzione + K. Potresti aver aggiunto una classe personalizzata per la schermata di avvio e averla rimossa dopo un po 'di tempo. –

+0

@Yash: no, questo NON funzionerebbe. Non ti è permesso usare la classe personalizzata nel file della schermata di avvio. Invece di trattare questo file come VC, pensarlo come un'immagine statica. –

+0

@Bishal Ghimire So che non ci è permesso che lo screenshot venga mostrato anche nel post ma è anche un file xib quindi forse una classe personalizzata aggiunta per sbaglio dall'utente. –

risposta

37

Andare alle proprietà del proprio Main.storyboard e verificare che Use as Launch Screen non sia selezionato. Sembra che tu l'abbia selezionato per errore.

enter image description here

+0

Omg grazie amico, ora funziona bene. Non posso votare per il tuo post perché non ho abbastanza punti, ma mi sento votato. – Genfood

+0

ottimo uomo. grazie molto –

4

Ho sempre una schermata iniziale separata, che è la prima applicazione del controller di visualizzazione. Splash Screen Storyboard

Questo è il file in cui si desidera aggiungere tutte le attività logica o visualizzazione filatore/caricatore ecc

Per far funzionare tutto questo è necessario l'installazione di destinazione della distribuzione del progetto, come illustrato. Target Deployment info

Nota che non è possibile aggiungere un'altra classe personalizzata a LaunchScreen. È un ViewController da mostrare mentre l'app sta per iniziare. In questa fase del ciclo di vita dell'app non è ancora stato avviato nulla. È quasi simile all'immagine statica (era solo un'immagine statica fino a iOS7). A partire da iOS9 o XCode 7 solo è stato modificato in storyboard in precedenza era il file XIB. Quindi non è possibile aggiungere oggetti di classe personalizzati a LaunchScreen poiché questa è una fase in cui l'app deve ancora essere caricata o avviata.

+0

Sembra esattamente come il tuo esempio.Non ho aggiunto elementi nel file LaunchSreen. Invece di Splash.storyboard sto usando Main.storyboard. – Genfood

+0

@GuteLaune: sì, è possibile utilizzare Main.Storyboard per aggiungere oggetti di classe personalizzati. Come ho detto, il file LaunchScreen è come l'immagine statica. Mentre non è stato ancora caricato alcun codice non caricato. Quindi nessun punto di aggiungere oggetti di classe personalizzati. Tratta come un'immagine con funzionalità aggiunta di auto-layout. –

+0

Non ho aggiunto codice nel file dello schermo di avvio. Ho aggiunto una foto in post sopra e se lo vedi lo faccio come hai detto tu, ma ho ancora l'errore. – Genfood

0

Vai al tuo -> launchScreen.storyboard poi avuto modo tuo -> identità e tipi -> deselezionare la casella -> Usa come schermata di avvio. Modificandolo in Generale -> Icone app e Avvia immagini -> Avvia file schermo a discesa -> LaunchScreen invece di launchScreen.storyboard non aiuta (stop) a fare quanto sopra. assicurati che tutti i tuoi vincoli siano impostati in modo più semplice, basta copiare le impostazioni dei vincoli dal tuo storyboard principale.

2

Per aggiungere al commento di Yash, questo errore è fuorviante. Se il campo Classe personalizzata è vuoto per ViewController, è necessario controllare anche tutti gli oggetti sulla vista e vedere se le loro classi personalizzate sono vuote, non è nemmeno possibile avere un'etichetta personalizzata per la Pagina di avvio.

Questo è quello che mi ha preso e mi ci è voluto un po 'per capire, ha avuto una lezione personalizzata impostata su una delle mie etichette per sbaglio da una copia + incolla.