iOS Entlassen und Präsentieren view-controller-benutzerdefinierte animation

Ich habe einen view-controller, die ich bin präsentiert mit der folgenden objective-c-code:

CATransition *animation=[CATransition animation];
animation.delegate=self;
animation.duration=0.3;
animation.type=kCATransitionMoveIn;
animation.subtype=kCATransitionFromRight;

[self presentViewController:reader animated:NO completion:nil];
[reader.view.layer addAnimation:animation forKey:@"animation"];

und Abberufung der mit ähnlichen code in eine delegate-Methode

CATransition *animation=[CATransition animation];
animation.delegate=self;
animation.duration=0.3;
animation.type=kCATransitionMoveIn;
animation.subtype=kCATransitionFromLeft;

[self dismissViewControllerAnimated:NO completion:nil];
[self.view.layer addAnimation:animation forKey:@"animation"];

Allerdings gibt es ein problem: im Gegensatz zur Verwendung eines Navigations-controller, wo Sie sehen, eine Ansicht, schieben Sie auf andere Ansicht; hier die alte Ansicht einfach verschwindet sofort, so dass die neue Ansicht bewegt
auf eine leere Ansicht.

Wie behebe ich dieses problem? Ich brauche diesen code in IOS 6,7 und 8 und möchte es zu schauen, wie die horizontale animation sehen Sie beim gehen hin und her zwischen den Ansichten in der navigation-Controller.

Bearbeiten:
Die Lösung, die ich angenommen habe hat einen bug mit iOS 6, wenn ich eine Lösung finden können, dass behebt, ich werde Bearbeiten Sie diese post.

Edit 2:
Fand es. Es scheint, dass seit ich präsentiere eine zBar-view-controller ich brauche um diesen code zu verwenden

zbarController.wantsFullScreenLayout=NO;

nachdem ich die cameraOverlayView.

InformationsquelleAutor SOair | 2014-11-11

Schreibe einen Kommentar