Dir*_*nry 16 iphone back-button uinavigationcontroller
我的应用程序有一个导航控制器,我不想要任何动画:
通过pushViewController:animated:方法,在推送视图时阻止动画很容易
但是当我点击这个子视图中的"后退"按钮时,会有一个动画!KO!我该怎么做才能阻止这个动画?
这可以防止默认动画。
- (void)viewWillDisappear:(BOOL)animated {
[UIView setAnimationsEnabled: NO];
}
- (void)viewDidDisappear:(BOOL)animated {
[UIView setAnimationsEnabled: YES];
}
Run Code Online (Sandbox Code Playgroud)
如果您需要自定义动画
- (void)viewWillDisappear:(BOOL)animated {
[UIView setAnimationsEnabled: NO];
CATransition *transition = [CATransition animation];
transition.duration = 0.3;
transition.type = kCATransitionFade;
[self.navigationController.view.layer addAnimation:transition forKey:kCATransition];
}
- (void)viewDidDisappear:(BOOL)animated {
[UIView setAnimationsEnabled: YES];
}
Run Code Online (Sandbox Code Playgroud)
有品类更优雅。这假设您的导航控制器对象已在您的应用程序委托中设置。只需将其放在根视图控制器中的 @implementaion 之前即可。
#import "AppDelegate.h"
@implementation UINavigationBar (custom)
- (UINavigationItem *)popNavigationItemAnimated:(BOOL)animated;
{
AppDelegate *delegate = [[UIApplication sharedApplication] delegate];
[delegate.navController popViewControllerAnimated:NO];
return TRUE;
}
@end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19051 次 |
| 最近记录: |