addChildViewController und entfernen Sie es
In meinem Projekt die wichtigsten ViewController, sobald der Benutzer von der app klicken Sie auf die Schaltfläche "Start", füge ich den nächsten Blick auf den Bildschirm:
UIViewController *nextController = [[GamePlayViewController alloc] initWithNibName:@"GamePlayView" bundle:nil];
[self addChildViewController:nextController];
[self.view addSubview:nextController.view];
Nun, wenn Benutzer möchten, klicken Sie auf zurück zum Hauptmenü, was ist der richtige code ausgeführt werden?
Ich weiß, ich kann den übergang von einem viewController zu einem anderen, etwa so:
[self transitionFromViewController:currentPageController
toViewController:nextController
duration:0
options:UIViewAnimationOptionTransitionCurlDown
animations:nil
completion:^(BOOL finished) { [nextController didMoveToParentViewController:self]; }];
Aber was ist, wenn ich nur wollen, um den übergang des Projektes ViewController?
DANK!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Warum versuchst du das Rad neu erfinden?
Nutzen Sie einfach die navigation-controller und drücken Sie die zweite view-Controllers.
Oder, wenn es nicht die richtige in Ihrem Fall mit einem Navigations-controller, dann können Sie öffnen Sie die zweite view-controller eine modal-Ansicht, und schließen Sie es, wenn Sie fertig...
pushViewController:animated:
,popViewControllerAnimated
,popToRootViewController
(was Sie gefragt haben),popToViewController:animated:
. Während mit der navigation-controller erhalten Sie auch dieviewWillApear
,viewWillDisapear
Rückrufe und paar andere, die Sie nicht erhalten (ohne zusätzlichen code) durch die Verwendung von benutzerdefinierten übergänge. Es gibt nur sehr wenige Szenarien, dass der navigation-controller nicht decken und Ihr Fall ist nicht einer von Ihnen.[self.navigationController setNavigationBarHidden:YES];
. Aber ich würde vorschlagen, es zu verlassen, und ändern Sie Ihr Aussehen und fühlen. Sie können verstecken Sie die zurück-Taste, fügen Sie Ihre eigenen Links (statt von hinten) und rechts-Tasten, setup ein titleView wenn Sie wollen mehr als nur text in den Titel, ändern Sie die tintColor der Navigationsleiste usw. Für iOS5 können Sie leicht ändern Sie die UI alle Navigationsleisten und Schaltflächen in der gesamten app. Für alle iOS-Versionen Sie können eine Unterklasse, navigationBar, überschreiben Sie die drawRect, und zeichnen Sie ein Bild anstelle des regulären barwarum verwenden Sie nicht nur
und wenn Sie wollen, wieder verwenden,
!!!
Können Sie tun, mit dem nachstehenden code:
Wo
self
ist Ihreview controller
.Funktioniert gut für mich!