Ändern viewController auf den Button Klicken
Ich bin neu in der iPhone Programmierung. was ich versuche ist, ich habe einen Bildschirm mit einer Schaltfläche. Und ich will zu ändern, die view-controller nicht nur die Ansicht, wenn ich auf diesen button klicken (ich weiß, wie ich hinzufügen Untersicht), weil aus der 2. view-controler, ich habe zu gehen, um die Dritte Ansicht ist nicht möglich, wenn ich hinzufügen Untersicht in den ersten Platz. Kann jemand mir bitte helfen mit, dass? Ist das möglich? und wenn ja, wie? Alle views und view-controller erstellt programmaticaly. Ich bin nicht mit IB.
EDIT: hier ist der entsprechende code, der feuert, wenn das klicken auf die Taste
-(id)showCurrentLoc:(id)sender {
locationController = [currentLocController alloc];
[entry removeFromSuperview];
[newLoc removeFromSuperview];
[currentLoc removeFromSuperview];
[self.view setBackgroundColor:[UIColor clearColor]]; //[self.view addSubview: [locationController view]];
[self.navigationController pushViewController:locationController animated:YES]; [locationController release];
return 0;
} //Location Controller is the tableViewController
Dank
Vik
Sie können verwenden Sie die navigation-controller für diese.
InformationsquelleAutor Vik | 2011-04-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
In der Regel, Sie mit einem Navigations-controller-für diese Art der Sache, so dass der Benutzer kann einfach gehen Sie zurück zur vorherigen Ansicht. Ihr view-controller würde dann etwas wie das hier tun:
Wenn Sie möchten, verwalten der view-Controller selbst, können Sie immer ändern Sie einfach das Fenster
rootViewController
Eigenschaft. Bitte Lesen Sie View Controller Programming Guide für das komplette Bild.Sorry -- ich kann nicht den Sinn von deinem Kommentar. Da Sie die OP, ich schlage vor, dass Sie Bearbeiten Ihre Frage zu erklären, das eigentliche problem deutlicher. Bevor Sie das tun, aber bitte nehmen Sie einen sorgfältigen Blick auf das Dokument, das ich verwiesen. Es ist Pflichtlektüre für iOS-Entwickler, und es ist definitiv erklärt, wie man von einem controller auf einen anderen.
-(id)showCurrentLoc:(id)sender { locationController = [currentLocController alloc]; [Eintrag removeFromSuperview]; [newLoc removeFromSuperview]; [currentLoc removeFromSuperview]; [self.Ansicht setBackgroundColor:[UIColor clearColor]]; //[self.view addSubview:[locationController anzeigen]]; [self.navigationController pushViewController:locationController animated:YES]; [locationController release]; return 0; } //Position Controller ist der tableViewController
Für den Anfang, du bist die Zuweisung aber nicht initialisieren locationController. Weiter, wenn Sie mit einem nav-controller, die Sie nicht benötigen, sollten alle, die addSubview/removeFromSuperview Zeug, nur schieben Sie den neuen view controller an den navigation-stack.
Bitte können Sie mir sagen, ob der viewcontroller, dass ich schieben wollen ist uitabbarcontroller? Ich bin auch verwirrt in Bezug auf den Wechsel von einer VC zu einem anderen. 99% der Menschen sagte, verwenden uinavigationcontroller es automatisch verarbeiten Umschalten zwischen VCs. Ich möchte benutzerdefinierte verwalten die Umschaltung zwischen VCs.
InformationsquelleAutor Caleb
Können Sie so etwas tun
how do u definieren tableViewController d.h. Erklärung ? Können Sie bitte post den code für das erzeugen Objekt für Ihre tableViewController ?
Danke ich bin in der Lage, ändern Sie die Ansicht-controller mit der navigation-controller, nachdem er erklärt es in delegieren.
Froh, dass es für Sie gearbeitet.
InformationsquelleAutor Janak Nirmal
UINavigationController , was Sie brauchen. Es verwaltet einen Stapel von
UIViewController
s und wenn Sie möchten, fügen Sie neue UIViewController schieben Sie es einfach in der navigation stack. Es automatisiert die zurück-Taste Verhalten für Sie, und Sie können pop Ihre aktuelle UIViewController vom stack, sobald Sie fertig sind.Sollte es funktionieren..Kannst du den relevanten code, damit wir cross-check
hier ist der entsprechende code, der feuert, wenn das klicken auf die Taste -(id)showCurrentLoc:(id)sender { locationController = [currentLocController alloc]; [Eintrag removeFromSuperview]; [newLoc removeFromSuperview]; [currentLoc removeFromSuperview]; [self.Ansicht setBackgroundColor:[UIColor clearColor]]; //[self.view addSubview:[locationController anzeigen]]; [self.navigationController pushViewController:locationController animated:YES]; [locationController release]; return 0; } //Position Controller ist der tableViewController
fügen Sie code in Kommentar..Sie können Bearbeiten Sie Ihre ursprüngliche Frage, und setzen Sie dort Ihren code..
Ich kopierte Ihr Kommentar code in Frage stellt und formatiert werden.
InformationsquelleAutor Krishnabhadra
Könnte man die Arbeit mit einem UINavigationController. Hinzufügen Ihres ersten UIViewController, wie dies in der init-Methode:
Dann, wenn auf eine Schaltfläche klicken oder eine Auswahl getroffen wird, drücken Sie die zweite paar-controller mit (in den ersten viewController):
Diese Weise erhalten Sie auch eine automatische (zurück-Taste). Im Grunde erstellen Sie einen Stapel von UIViewControllers, dass Sie können push-und pop-wie bei einem normalen stack.
Ich hoffe, das hilft. Schauen Sie in die folgende:
UINavigationController-Klasse Referenz
InformationsquelleAutor ophychius
InformationsquelleAutor Chetan Bhalara