Il y a une vue de courant comme Le problème est comme la capture d'écran ci-dessus. P> uiviewcontroller code> quel appel "loginview" mais je ne suis pas dans, je suis dans un
nsobject code> classe et je veux appeler, afficher Un autre
uiviewcontroller code> qui est appel "MAPView". Comment puis-je faire cela?
p>
6 Réponses :
Vous ne devriez pas être instantané et afficher les contrôleurs d'affichage de l'intérieur d'un modèle. Les points de vue doivent être Dans ce cas, vous avez mentionné à partir de si votre application utilise un contrôleur de navigation: p> sinon: p> loginView code> comme point de départ. Quand une condition est satisfaite (connexion réussie peut-être?) Vous devez mettre à jour le modèle sous-jacent en conséquence, puis afficher le
MAPView code>. P>
LoginView code>: p>
Je suppose que vous essayez d'accéder à votre membre UIViewController à partir d'une classe UIViewController à partir d'une classe NsObject. Facile juste passer un membre UIViewController à la classe NsObject. Dans ce cas un soi. Ce que cela vous permet de faire est que vous puissiez changer, modifier, supprimer, tout ce que vous voulez faire dans votre UIView d'une autre classe. Ce qui suit est un exemple de cela.
appeler la classe NsObject à partir de votre classe UIViewController p> puis à partir de votre nsobject p> Vous avez la vue Contrôleur au bout des doigts! P> Cheer :)! p> p>
@Lifematch j'ai eu le même problème et j'ai trouvé cette réponse vraiment utile
Essayez ce code. Cela vous aidera à vous aider ......
Dans votre bouton, cliquez sur Action Vous devez envoyer votre UINAVIGATIONCONTROLLER ET VIEW CURRENYCONTROLLER. Parce que la classe NsObject n'a pas trouvé ce contrôleur. P>
Dans votre bouton Action Mettez ce code: P>
#import "Method_Action_class.h" @implementation Method_Action_class -(void)login_method_called:(UINavigationController*)navigation withCurrentViewController:(UIViewController*) controller { Home_ViewController *home = [[Home_ViewController alloc] initWithNibName:@"Home_ViewController" bundle:nil]; [navigation pushViewController:home animated:YES]; } @end
à votre ibaction code> ou méthode spécifique Ecrivez ceci:
J'ai créé une classe OBERSVER dans la classe du contrôleur et déclarez une méthode de contrôle d'affichage d'appoint et de la notification de poste à l'aide de NSnotification Center à partir de la sous-classe NsObject et fonctionne bien. p>
Dans View Controller: [[NSNOTIFICATIONCENTER DEFAUTERCENTER] Addobserver: Sélecteur auto-sélecteur: @Selector (Démissubicerview) Nom: KnotificationDismissPicker Object: Nil]; P>
en sous-classe de NSOJECT: [[NOTIFICATIONCENTER DEFAULTERCENTER] PostNotificationName PostNotification: KMOVetoachievement Objet: nil]; p>
J'ai utilisé comme ceci dans ma classe NsObject: J'espère que c'est utile. p> p>
Uiapplication.shared.delegate.window n'a pas RootViewController comment vous l'avez atteint à l'intérieur de la classe NsObject?
Deux choses: pourquoi essayez-vous d'instancier et d'afficher un contrôleur d'affichage à partir d'un modèle et Qu'avez-vous essayé? A >
Appdelegate * Appdelegate = (Appdelegate *) [[UIAUPLICATION SACHEDAPPLICATION] Délégué]; [[Appdelegate LoginViewController] PresentViewController: CarteviewController Animation: Oui Achèvement: Nil]; code> J'ai essayé ce code mais je n'ai pas fonctionné ..
Le nom de votre classe d'appdelegate est-il vraiment "AppDelegate"? De plus, il ne devrait pas y avoir besoin de présenter une liste de visualisation d'un NsObject!
Bien sûr, c'est "AppDelegate".
J'ai trouvé le vrai fragment de code. Peut-être que quelqu'un a le même problème alors je leur donne.
Appdelegate * Appdelegate = (Appdelegate *) [[UIAUPLICATION SACHEDAPPLICATION] Délégué]; [[Fenêtre Appdelegate] AddSubView: MapViewController.View]; [[Fenêtre AppDelegate] BringsbViewToFront: MapViewController.View]; code>