transitionFromViewController:toViewController Fehler: Kinder-view-Controller müssen einen gemeinsamen parent-view-controller
Ich versuche, um den übergang von meinem aktuellen view-controller self
zu self.aVC
mit view-controller-containment mit self.navigationController
als der container. Wenn ich den folgenden code ausführen, der "Kinder-view-Controller müssen einen gemeinsamen parent-view-controller" Fehlermeldung erscheint aber die beiden NSLogs zeigen die gleichen parentViewController.
Was zu sein scheint das problem hier? Jede Hilfe ist willkommen.
[self willMoveToParentViewController:nil];
[self.navigationController addChildViewController:self.aVC];
[self.aVC.view setFrame:self.bottomFrame];
NSLog(@"%@",self.parentViewController);
NSLog(@"%@",self.aVC.parentViewController);
// __weak __block SBSomeVC *weakSelf = self;
[self transitionFromViewController:self toViewController:self.aVC duration:0.3 options:UIViewAnimationOptionTransitionNone animations:^{
[self.aVC.view setFrame:self.view.bounds];
} completion:^(BOOL finished) {
[self.aVC didMoveToParentViewController:self.navigationController];
[self removeFromParentViewController];
}];
InformationsquelleAutor Robert | 2014-03-05
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nach meinem Verständnis, die
-transitionFromViewController:toViewController:duration:
muss aufgerufen werden, auf einem gegebenen view-controller, um den übergang zwischen zwei child-view-Controller.So, in Ihrem Fall, sollten Sie verschieben, der den Aufruf der Methode in der parent-view-controller-Klasse.
Sollten Sie auch sicherstellen, dass der view-Controller übergeben Sie als Argumente, die bereits Hinzugefügt wurden, als Kinder-view-Controller der Eltern ein, oder Sie halten immer die gleichen Fehler.
Referenz: https://developer.apple.com/library/ios/documentation/uikit/reference/UIViewController_Class/Reference/Reference.html
Den Fehler:
erzählt Sie alles. Beide view-Controller, die den übergang haben die gleichen Eltern. So müssen Sie beide von Ihnen, um die Eltern über die
addChildViewController:
Methode. Ansonsten wird es nicht funktionieren.Den
transitionFromViewController:toViewController:duration
Methode hat genannt werden, die von der übergeordneten view-controller. Nicht durch das Kind.