IOS自定义导航栏Push动画效果
创建两个视图控制器,加到导航控制器上
#import "AppDelegate.h"
#import "FirstViewController.h"
@interface AppDelegate ()
@end
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
self.window.backgroundColor = [UIColor whiteColor];
[self.window makeKeyAndVisible];
FirstViewController *firstCtrl = [[FirstViewController alloc] init];
UINavigationController *navCtrl = [[UINavigationController alloc] initWithRootViewController:firstCtrl];
self.window.rootViewController = navCtrl;
return YES;
}
在FirstViewController中导入SecondViewController
#import "FirstViewController.h"
#import "SecondViewController.h"
@interface FirstViewController ()
@end
@implementation FirstViewController
- (void)viewDidLoad {
[super viewDidLoad];
self.title = @"吃了吗";
self.view.backgroundColor = [UIColor cyanColor];
UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
button.frame = CGRectMake(100, 100, 100, 100);
[button setTitle:@"push" forState:UIControlStateNormal];
[button addTarget:self action:@selector(buttonAction) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:button];
}
//转场动画
- (void)transitionPush{
CATransition *tran = [CATransition animation];
tran.duration = .5;
tran.type = @"pageCurl";
tran.subtype = kCATransitionFromRight;
[self.navigationController.view.layer addAnimation:tran forKey:nil];
}
//按钮的点击时间,实现push动画效果
- (void)buttonAction{
[self transitionPush];
SecondViewController *second = [[SecondViewController alloc] init];
[self.navigationController pushViewController:second animated:YES];
}
#import "SecondViewController.h"
@interface SecondViewController ()
@end
@implementation SecondViewController
- (void)viewDidLoad {
[super viewDidLoad];
self.title = @"吃的好饱啊";
self.view.backgroundColor = [UIColor orangeColor];
}
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。