vil*_*ilo 4 iphone navigationcontroller
向下钻取时,CATransitions可用于为导航控制器中的过渡设置动画.但是,当使用后退按钮og导航控制器(返回)时,动画仍然会滑出.有谁知道如何将CATransition附加到导航控制器的后退按钮?谢谢.
用于在"向下钻取"时动画的代码:
CATransition *transition = [CATransition animation];
transition.duration = 1;
transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
transition.type = kCATransitionPush;
transition.subtype = kCATransitionFromTop;
transition.delegate = self;
[self.navigationController.view.layer addAnimation:transition forKey:nil];
Run Code Online (Sandbox Code Playgroud)
无需创建自定义按钮......您可以简单地执行以下操作:
- (void)viewWillDisappear:(BOOL)animated
{
if ([self.navigationController.viewControllers indexOfObject:self]==NSNotFound) {
// back button was pressed. We know this is true because self is no longer
// in the navigation stack.
CATransition *transition = [CATransition animation];
[transition setDuration:0.75];
[transition setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];
[transition setType:@"oglFlip"];
[transition setSubtype:kCATransitionFromLeft];
[transition setDelegate:self];
[self.navigationController.view.layer addAnimation:transition forKey:nil];
}
[super viewWillDisappear:animated];
}
Run Code Online (Sandbox Code Playgroud)
编辑:您必须首先添加石英框架才能使用CATransition
要将动画添加到后退按钮,您必须创建自己的后退按钮,并在后退按钮操作上指定所需的动画.
在导航栏中添加后退按钮:将此行添加到viewDidLoad方法:
self.navigationItem.leftBarButtonItem=[[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemReply target:self action:@selector(back)];
Run Code Online (Sandbox Code Playgroud)在back方法中添加以下代码:
CATransition *transition = [CATransition animation];
transition.duration = 1;
transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
transition.type = kCATransitionPush;
transition.subtype = kCATransitionFromBottom;
transition.delegate = self;
[self.navigationController.view.layer addAnimation:transition forKey:nil];
[self.navigationController popViewControllerAnimated:YES];
Run Code Online (Sandbox Code Playgroud) 归档时间: |
|
查看次数: |
4579 次 |
最近记录: |