viewController apparaissant en noir lors de la comparution
Salut à Tous je suis nouveau sur le développement d'iOS et je suis actuellement un problème avec quelque chose, je suis en train de faire un formulaire de connexion apparaissent sous forme modale si un utilisateur n'est pas connecté.
Je suis en utilisant NSUserDefaults pour stocker un id qui je suis tout simplement vérifier s'il existe. Si ça ne marche pas, alors je voudrais que la UIViewController à apparaître.
Jusqu'à présent j'ai le code suivant dans mon UINavigationController qui est à l'intérieur d'un UITabViewController , je vais essayer d'obtenir les UIViewController pour apparaître au-dessus de la Première UINavigationController (celui qui est sélectionné), au moment où l'animation se passe, mais il y a un écran noir, même si l'écran de Connexion a toutes les zones de texte etc déjà créé. Si j'ai mis cet écran de Connexion comme la vue initiale de la charge, il charge jusqu'à fin.
C'est le code qui apparaît dans la Première viewcontroller de la UINavigationController.
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
if (![prefs stringForKey:@"id"]){
LoginViewController *loginController = [[LoginViewController alloc] init];
[self presentModalViewController:loginController animated:YES];
} else {
[self loadCoffeeUserOrders:[prefs stringForKey:@"id"]];
}
modale de vue est le chargement, mais au moment où il apparaît en noir, j'ai essayé de créer un nouvel Écran de Connexion et la même chose se passe: rien, mais un écran noir.
espère qu'il y aura assez d'informations pour quelqu'un de comprendre ce qui pourrait se passer, je suis très nouveau pour le développement d'iOS donc, si j'ai fait quelques erreurs, il serait bon de savoir où je vais mal.
grâce
Est votre login vue mis en œuvre dans loadView ou avez-vous mis en place pour la plume?
j'ai juste ajouté un NSLog dans mon viewDidLoad et il est de leur enregistrement comme prévu. @FirozeLafeer im en utilisant le mode storyboard dans Xcode j'ai donc le point de vue déjà dans la table de montage séquentiel.
OriginalL'auteur Dan Newns | 2011-11-04
Vous devez vous connecter pour publier un commentaire.
Donc, le LoginViewController que vous créez ici est une instance différente de celle que vous définissez dans votre storyboard. Je pense que ce que vous voulez à cause de l'un dans le storyboard pour être chargé et présenté.
La façon la plus simple est de créer un segue dans le storyboard à partir de la première vue, contrôleur à la vue login contrôleur que vous avez créé. Vous pouvez ctrl-faites glisser à partir d'un point de vue contrôleur à l'autre et sélectionnez "Modal" comme le type de séquence. Ensuite, allez à l'inspecteur de segue et de lui donner un identifiant. Disons que vous appelez "segueToLogin".
Ensuite pour effectuer des enchaînements à partir de votre code juste faire quelque chose comme ceci:
Espère que ça aide.
MODIFIER
Donc, pour répondre à votre question, imaginez ceci:
Vous avez cette grande idée pour une application, donc vous prenez une feuille de papier hors de votre clavier et vous esquisser cette grande conception. Alors à vos collègues viennent par sorte que vous arnaquer une nouvelle feuille de papier vierge et de leur montrer qu'à la place. Ils ne seront pas impressionnés.
Même chose s'est passé ici. Vous configurer une vue contrôleur dans votre storyboard avec tous vos points de vue. Mais alors, quand est venu le temps pour le montrer, vous avez sorti un nouveau totalement vide-vue-contrôleur et a montré que pour l'utilisateur à la place. En les tirant et en les actionnant la séquence au lieu de cela, la fin de chargement de la vue courante instance de contrôleur que vous vouliez.
Maintenant sur enchaîne, vous créez ceux dans la table de montage séquentiel pour permettre à l'utilisateur de naviguer à travers les scènes. Parfois, ceux qui enchaîne sont connectés directement à un bouton ou quelque chose. Mais dans ce cas, vous ne voulez pas de demander à l'utilisateur d'appuyer sur un bouton ou quelque chose à présenter la connexion vc, si vous effectuez la séquence de vous-même.
L'espoir qui fait sens.
Pas sûr que nous sommes en train de dire la même chose. J'ai ajouté un peu de ma réponse, j'espère que c'est logique.
OriginalL'auteur Firoze Lafeer
J'ai eu un problème similaire, mais la résolution n'était pas l'un de ceux énumérés ci-dessus. Le problème résidait dans le nouveau-vue-contrôleur ".m" fichier (celui que je suis en train de pousser/modal). Il y a une méthode loadView à l'intérieur et si vous l'y laisser XCode va ignorer la xib vous avez dans le storyboard et attendons de vous jeter hors de la vue. Supprimer cette fonction et il va regarder la xib au lieu.
Passé trop de temps sur ce bug stupide, j'espère que cela peut aider à sauver quelqu'un de sain d'esprit.
OriginalL'auteur George
OriginalL'auteur