UINavigationController导航控制器…

本文详细介绍如何在 iOS 应用中使用 UINavigationController 的 Toolbar 功能。包括显示 Toolbar、添加 UIBarButtonItem 到 Toolbar、动态创建 Toolbar 并设置 Item 以及实现页面间的跳转。通过实际案例帮助读者掌握 UINavigationController 中 Toolbar 的具体应用。
摘要由CSDN通过智能技术生成

1、显示Toolbar 

在RootViewController.m的- (void)viewDidLoad方法中添加代码,这样Toobar就显示出来了。

 

[cpp]  view plain copy
  1. [self.navigationController  setToolbarHidden:NO animated:YES];  


 

2、在ToolBar上添加UIBarButtonItem

新建几个UIBarButtonItem,然后以数组的形式添加到Toolbar中

 

[cpp]  view plain copy
  1. UIBarButtonItem *one [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:nil action:nil];  
  2.     UIBarButtonItem *two [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemBookmarks target:nil action:nil];  
  3.     UIBarButtonItem *three [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAction target:nil action:nil];  
  4.     UIBarButtonItem *four [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemEditarget:nil action:nil];  
  5.     UIBarButtonItem *flexItem [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];  
  6.     [self setToolbarItems:[NSArray arrayWithObjects:flexItem, one, flexItem, two, flexItem, three, flexItem, four, flexItem, nil]];  

效果:

 



注意:用   [self.navigationController.toolbar setItems:(NSArray *) animated:<#(BOOL)#>]这个方法添加item是不起效果的。下面我动态自己添加Toolbar时,这个才起效果。


3、动态添加Toolbar

我们在SecondView添加动态的Toolbar。

在SecondViewController.h添加

 

[cpp]  view plain copy
  1. #import <UIKit/UIKit.h>  
  2.   
  3. @interface SecondViewController UIViewController  
  4.  
  5.     UIToolbar *toolBar;  
  6.  
  7. @end  

在SecondViewController.m添加

 

 

[cpp]  view plain copy
  1. (void)viewDidLoad  
  2.  
  3.     [super viewDidLoad];  
  4.   
  5.     [self.navigationController  setToolbarHidden:YES animated:YES];  
  6.   
  7.     UIBarButtonItem *addButton [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemSearch target:self action:@selector(gotoThridView:)];  
  8.     toolBar [[UIToolbar alloc] initWithFrame:CGRectMake(0.0, self.view.frame.size.height toolBar.frame.size.height 44.0, self.view.frame.size.width, 44.0)];  
  9.     [toolBar setBarStyle:UIBarStyleDefault];  
  10.     toolBar.autoresizingMask UIViewAutoresizingFlexibleTopMargin;  
  11.     [toolBar setItems:[NSArray arrayWithObject:addButton]];  
  12.     [self.view addSubview:toolBar];  
  13.        
  14.     // Do any additional setup after loading the view from its nib.  
  15.  
先把RootView时显示的Toobar隐藏

 

    [self.navigationController setToolbarHidden:YESanimated:YES];然后把新建的Toolbar添加的SecondView中,并为Toobar设置了一个Item.  

    [toolBarsetItems:[NSArrayarrayWithObject:addButton]]; 

BarButtonItem用 的是UIBarButtonSystemItemSearch, 效果如下:


4、新建ThridView,从SecondView跳转到

Commad+N新建一个ThridViewController,

这个addButton跳转到ThridView

 

[cpp]  view plain copy
  1. -(void)gotoThridView:(id)sender  
  2.  
  3.     ThridViewController *thridView [[ThridViewController alloc] init];  
  4.     [self.navigationController pushViewController:thridView animated:YES];  
  5.     thridView.title @"Thrid View" 
  6.   
  7.  

跳转Second到Third效果:

 


到此UINavigationController练习就差不多了。




 

例子代码:https://github.com/schelling/YcDemo


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值