作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
编辑:
注意:我不想插入转场。我想用那个动画推送一个 View 。
编辑 2:
说起动画名字,有些人一头雾水。然而,这是一个有效的动画名称示例(名称是:UIViewAnimationTransitionFlipFromRight):
[UIView beginAnimations: @"Showinfo"context: nil];
[UIView setAnimationCurve: UIViewAnimationCurveEaseInOut];
[UIView setAnimationDuration:0.75];
[self.navigationController pushViewController: view animated:NO];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:self.navigationController.view cache:NO];
[UIView commitAnimations];
我正在使用 push 和 pop 调用堆栈上的操作。我相信导航 Controller 将导航保持在堆栈样式结构中。
我正在使用导航 Controller ,我喜欢使用导航栏项目返回(弹出)到上一个 View 时获得的效果。从右到左的效果很好,很流畅。
这是一个从右到左效果的例子:
如何创建互补的从右到左的效果?换句话说,当我在 View 层次结构中向下移动时?
这就是我现在推送 View Controller 的方式:
[self.navigationController pushViewController:view animated:YES];
最佳答案
我们需要为 viewController 添加 CATransition 动画。看看这个,
add <CAAnimationDelegate> in your .h file
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle: nil];
ViewController *VC = [storyboard instantiateViewControllerWithIdentifier:@ViewController"];
CATransition *transition = [CATransition animation];
transition.duration = 0.45;
transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionDefault];
transition.type = kCATransitionPush;
transition.subtype = kCATransitionFromLeft;
transition.delegate = self;
[self.navigationController.view.layer addAnimation:transition forKey:nil];
[self.navigationController pushViewController:VC animated:NO];
关于ios - 如何从左向右推送具有滑动效果的ViewController?需要动画名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30374995/
我是一名优秀的程序员,十分优秀!