web-dev-qa-db-fra.com

Les écrans de lancement peuvent ne pas définir de noms de classe personnalisés

J'ai essayé d'ajouter une classe personnalisée à ma cellule d'affichage de table, mais après l'avoir ajoutée, l'erreur suivante apparaît:

 enter image description here

Je lis souvent que je ne peux pas utiliser de classes personnalisées dans LaunchScreen mais je n'ai pas touché à ce fichier. Quelqu'un peut-il m'aider? 

 enter image description here

Ce sont mes paramètres généraux pour l'interface principale et l'interface de lancement.

J'utilise Swift.

30
Genfood

Accédez aux propriétés de votre Main.storyboard et vérifiez que Use as Launch Screen n'est pas sélectionné. On dirait que vous l'avez sélectionné par erreur.

 enter image description here

68
Paulw11

J'ai toujours un écran de démarrage séparé qui est la première application du contrôleur de vue chargée .  Splash Screen Storyboard

C’est le fichier dans lequel vous voulez ajouter toute la logique métier ou afficher spinner/loader, etc.

Pour que cela fonctionne, vous devez configurer la cible de déploiement de votre projet comme indiqué .  Target Deployment info

Notez que vous ne pouvez ajouter aucune autre classe personnalisée à LaunchScreen. Il s’agit d’un ViewController à afficher uniquement lorsque l’application est sur le point de démarrer. Dans cette phase du cycle de vie de l'application, rien n'a encore été démarré. Il est presque similaire à l'image statique (auparavant, il ne s'agissait que d'image statique jusqu'à iOS7). À partir de iOS9 ou de XCode 7 uniquement, il a été remplacé par le storyboard et était auparavant un fichier XIB. Par conséquent, vous ne pouvez pas ajouter d'objets de classe personnalisés à LaunchScreen car il s'agit d'une phase dans laquelle l'application doit encore être chargée ou démarrée. 

5
Bishal Ghimire

Pour ajouter au commentaire de Yash, cette erreur est trompeuse. Si le champ Classe personnalisée est vide pour votre ViewController, vous devez également vérifier chaque objet de votre vue et voir si leurs classes personnalisées sont également vides. Vous ne pouvez même pas définir d'étiquette personnalisée pour la page de lancement. 

C’est ce qui m’a mis et cela m’a pris un certain temps à comprendre: une classe personnalisée a été définie par accident sur une de mes étiquettes à partir d’un copier/coller.

3
William T.

J'ai fait la même erreur.

FAUX:

 enter image description here


Très probablement, ce que vous vouliez faire était tel:

CORRECT:

 enter image description here

0
Honey

Allez à votre -> launchScreen.storyboard puis à votre -> identité et types -> décochez la case -> utiliser comme écran de lancement. Le changer en général -> Icônes d'application et images de lancement -> déroulant Fichier de lancement d'écran -> LaunchScreen au lieu de launchScreen.storyboard ne vous aidera pas (arrêtez) à faire ce qui précède. Assurez-vous que toutes vos contraintes sont correctement définies. Il vous suffit de copier les paramètres de contrainte de votre story-board principal.

0
makhiye