ios - 在 View Controller 之间转换时自定义动画

标签 ios objective-c cocoa-touch uikit core-animation

我想像这样在 View Controller 之间创建转换。 https://www.dropbox.com/s/qatwqaq2mowocsg/Transitions%20Controller.gif?dl=0

我使用了以下代码来创建转换,但无法实现以下结果。

self.settings = [self.storyboard instantiateViewControllerWithIdentifier:@"settings"];
CATransition* transition = [CATransition animation];

transition.duration = 0.4;
transition.type = kCATransitionPush;
transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionDefault];
transition.subtype=kCATransitionFromRight;


[[self navigationController].view.layer addAnimation:transition forKey:kCATransition];
[[self navigationController] pushViewController:self.settings animated:NO];

最佳答案

你可以试试这段代码:

self.settings = [self.storyboard instantiateViewControllerWithIdentifier:@"settings"];

[UIView beginAnimations:@"View Flip" context:nil];
[UIView setAnimationDuration:0.80];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];

[UIView setAnimationTransition:
 UIViewAnimationTransitionFlipFromRight
                       forView:self.navigationController.view cache:NO];


[self.navigationController pushViewController:self.settings animated:YES];
[UIView commitAnimations];

关于ios - 在 View Controller 之间转换时自定义动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32710102/

相关文章:

ios - iOS 上的 mathml -- mtable 行间距

ios - 应用内购买产品 ID 更新落后一位

ios - UITableView 上方的 UIView 未显示——iOS

iphone - 这是更改现有 View 的 UIView 框架的最佳方法吗?

ios - 当我的应用程序被终止时,如何将数据发布到服务器?

ios - 使用 RxSwift 在 Swift 3 中观察数组

objective-c - NSRangeException - 为什么?

ios - 比较两个 NSDate 对象是否相同

iphone - Game Center 自定义排行榜 - 我真的需要调用 2 次电话才能获取玩家的别名吗?

ios - ALAssetsLibrary addAssetsGroupAlbumWithName 不适用于 iOS 9