gewusst wie: anzeigen von UIViewController ein NSObject-Klasse?
Gibt es eine aktuelle Ansicht als UIViewController
dem Aufruf "LoginView" aber ich bin nicht, ich bin in einer NSObject
Klasse und ich möchte zu nennen, zeigt eine andere UIViewController
die rufen "MapView". Wie kann ich dies tun?
Das problem ist wie oben screenshot.
- Zwei Dinge: Warum sind Sie versuchen zu instanziieren und anzeigen einer view-controller in einem Modell, und was haben Sie versucht?
AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate]; [[appDelegate loginViewController] presentViewController:mapViewController animated:YES completion:nil];
ich versuchte, die code, aber hat nicht funktioniert..- Ist der name der AppDelegate-Klasse wirklich "AppDelegate"? Darüber hinaus sollte es keine Notwendigkeit zu präsentieren, einen viewController aus einer NSObject !
- sicher, es ist "AppDelegate".
- Ich fand true code-fragment. vielleicht hat jemand dasselbe problem, so gebe ich Ihnen.
AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate]; [[appDelegate window] addSubview:mapViewController.view]; [[appDelegate window] bringSubviewToFront:mapViewController.view];
Du musst angemeldet sein, um einen Kommentar abzugeben.
In Ihrem
IBAction
oder spezifische Methode, dies Schreibe:Ich bin davon ausgegangen, dass Sie versuchen, Zugriff auf Ihren UIViewController Mitglied von einem UIViewController Klasse NSObject-Klasse. Einfach nur pass UIViewController Mitglied der NSObject-Klasse. In diesem Fall ist eine selbst. Was können Sie tun, können Sie ändern, zu Bearbeiten, zu entfernen, was auch immer Sie wollen in Ihrem UIView aus einer anderen Klasse. Der folgende Code ist ein Beispiel dafür.
Aufruf der NSObject-Klasse aus Ihrer UIViewController-Klasse
Dann von Ihrem NSObject
Nun müssen Sie den view-controller an Ihren Fingerspitzen!
Cheers :)!
Sollten Sie sich nicht instanziieren und anzeigen des view-controllers in einem Modell. Ansichten sollten getrieben von Modellen.
In diesem Fall erwähnt Sie
LoginView
als Ihren Ausgangspunkt. Wenn eine Bedingung erfüllt ist (erfolgreiche Anmeldung vielleicht?) Sie sollten das update auf das zugrunde liegende Modell entsprechend an, und zeigt dann dieMapView
.Innerhalb
LoginView
:Wenn Ihr die app nutzt eine Navigations-controller:
Ansonsten:
Versuchen, diesen Code. Es wird Ihnen helfen......
In Ihre Schaltfläche, klicken Sie auf Aktion, die Sie haben, und senden Sie uns Ihre UINavigationController & aktuellen ViewController. Da NSObject-Klasse nicht gefunden, dass der controller.
In deiner Button-Aktion diesen Code:
In Ihrem NSObject .h-Klasse diesen code:
In Ihrem NSObject .m-Klasse diesen code:
Bauen Ihre code.
Erstellt habe ich eine obersver in view-controller-Klasse und deklarieren Sie eine Methode push-view-controller und post-Benachrichtigung mit NSNotification Zentrum von NSObject Unterklasse und es funktioniert gut.
in view-controller:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(dismissPickerView) name:kNotificationDismissPicker object:nil];
in der Unterklasse der NSOject:
[[NSNotificationCenter defaultCenter] postNotificationName:kMoveToAchievementView object:nil];
Benutzte ich so in meinem NSObject-Klasse:
Ich hoffe, es ist nützlich.