关键代码:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
self.window=[[UIWindowalloc]initWithFrame:[[UIScreenmainScreen]bounds]];
ViewController *pVCtrl=[[ViewControlleralloc]init];
UINavigationController *pNgCtrl=[[UINavigationControlleralloc]initWithRootViewController:pVCtrl];
[self.windowsetRootViewController:pNgCtrl];
[self.windowmakeKeyAndVisible];
return YES;
}
ViewControl 代码
-(void)clickBtn:(UIButton*)sender{
SencondViewController *pSCtrl=[[SencondViewControlleralloc]init];
[self.navigationControllerpushViewController:pSCtrl animated:YES];
}
SeccondViewControl 代码
-(void)hidden:(UIButton *)sender{
[self.navigationControllerpopToRootViewControllerAnimated:YES];
}
关于导航器中应用工具栏案例
//
// SencondViewController.m
// NavigationDemo
//
// Created by ganzhou on 16/3/3.
// Copyright © 2016年 ganzhou. All rights reserved.
//
#import "SencondViewController.h"
@interface SencondViewController ()
@end
static int flag=1;
@implementation SencondViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
UIView *pView=[[UIView alloc]initWithFrame:CGRectMake(0, 0, 320, 480)];
pView.backgroundColor=[UIColor greenColor];
// UIButton *pBtn=[UIButton buttonWithType:UIButtonTypeRoundedRect];
//
// pBtn.frame=CGRectMake(100, 200, 120, 50);
// pBtn.backgroundColor=[UIColor redColor];
// [pBtn setTitle:@"HiddenOrShow" forState:UIControlStateNormal];
// [pBtn addTarget:self action:@selector(hidden:) forControlEvents:UIControlEventTouchUpInside];
// [pView addSubview:pBtn];
UIButton *push=[UIButton buttonWithType:UIButtonTypeRoundedRect];
push.frame=CGRectMake(100, 150, 120, 50);
push.backgroundColor=[UIColor redColor];
[push setTitle:@"push" forState:UIControlStateNormal];
[push addTarget:self action:@selector(push:) forControlEvents:UIControlEventTouchUpInside];
[pView addSubview:push];
UIButton *pop=[UIButton buttonWithType:UIButtonTypeRoundedRect];
pop.backgroundColor=[UIColor redColor];
pop.frame=CGRectMake(100, 300, 120, 50);
[pop setTitle:@"pop" forState:UIControlStateNormal];
[pop addTarget:self action:@selector(pop:) forControlEvents:UIControlEventTouchUpInside];
[pView addSubview:pop];
UIBarButtonItem *left=[[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemBookmarks target:self action:@selector(study)];
self.navigationItem.leftBarButtonItem=left;
UIButton *rightBtn=[UIButton buttonWithType:UIButtonTypeRoundedRect];
rightBtn.backgroundColor=[UIColor redColor];
rightBtn.frame=CGRectMake(0, 0, 60, 30);
[rightBtn setTitle:@"学习" forState:UIControlStateNormal];
[rightBtn addTarget:self action:@selector(sheet) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *right=[[UIBarButtonItem alloc]initWithCustomView:rightBtn];
self.navigationItem.rightBarButtonItem=right;
UIView *pTitle=[[UIView alloc]initWithFrame:CGRectMake(0, 0, 100, 30)];
pTitle.backgroundColor=[UIColor orangeColor];
self.navigationItem.titleView=pTitle;
self.view=pView;
self.flag=flag++;
self.title=[NSString stringWithFormat:@"tile : %d",self.flag];
// UIButton *btn1=[UIButton buttonWithType:UIButtonTypeRoundedRect];
// btn1.backgroundColor=[UIColor redColor];
// [btn1 setTitle:@"" forState:<#(UIControlState)#>]
UIBarButtonItem *save=[[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemSave target:nil action:nil];
UIBarButtonItem *edit=[[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemEdit target:nil action:nil];
UIBarButtonItem *add=[[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:nil action:nil];
UIBarButtonItem *cancel=[[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:nil action:nil];
UIBarButtonItem *done=[[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:nil action:nil];
UIBarButtonItem *reply=[[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemReply target:nil action:nil];
UIBarButtonItem *action=[[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemAction target:nil action:nil];
UIBarButtonItem *flexibleSpace=[[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
UIBarButtonItem *fixedSpace=[[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace target:nil action:nil];
UIView *my=[[UIView alloc]initWithFrame:CGRectMake(0, 0, 100, 40)];
my.backgroundColor=[UIColor blueColor];
UIBarButtonItem *myItem=[[UIBarButtonItem alloc]initWithCustomView:my];
// NSArray *items=@[save,fixedSpace,edit,flexibleSpace,add,flexibleSpace,cancel];//,cancel,done,reply,action];
NSArray *items=@[save,edit,add,myItem];
// UIToolbar *toolBar=[[UIToolbar alloc]initWithFrame:CGRectMake(0, 436, 320, 44)];
// toolBar.backgroundColor=[UIColor orangeColor];
// [toolBar setItems:items animated:YES];
// [self.view addSubview:toolBar];
[self.navigationController setToolbarHidden:NO];
[self setToolbarItems:items animated:YES];
}
-(void)study{
UIAlertView *alert=[[UIAlertView alloc]initWithTitle:@"恭喜" message:@"早生贵子" delegate:nil cancelButtonTitle:@"关闭" otherButtonTitles:@"其他", nil];
[alert show];
}
-(void)sheet{
UIActionSheet *pAction=[[UIActionSheet alloc]initWithTitle:@"恭喜" delegate:nil cancelButtonTitle:@"关闭" destructiveButtonTitle:@"哈哈" otherButtonTitles:@"其他", nil];
[pAction showInView:self.view];
}
-(void)push:(UIButton *)sender{
SencondViewController *pSVCtrl=[[SencondViewController alloc]init];
[self.navigationController pushViewController:pSVCtrl animated:YES];
}
-(void)pop:(UIButton *)sender{
// [self.navigationController popViewControllerAnimated:YES];
[self.navigationController popToRootViewControllerAnimated:YES];
}
-(void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
// [self.navigationController setToolbarHidden:NO animated:YES];
// [self.navigationController setNavigationBarHidden:NO animated:YES];
}
-(void)hidden:(UIButton *)sender{
[self.navigationController popToRootViewControllerAnimated:YES];
// [self.navigationController popToRootViewControllerAnimated:YES];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
-(void)dealloc{
NSLog(@"ctrol flag = %d",self.flag );
}
/*
#pragma mark - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
// Get the new view controller using [segue destinationViewController].
// Pass the selected object to the new view controller.
}
*/
@end