天天看點

IOS學習之UINavigationController詳解與使用(三)ToolBar

1、顯示Toolbar 

在RootViewController.m的- (void)viewDidLoad方法中添加代碼,這樣Toobar就顯示出來了。

[self.navigationController  setToolbarHidden:NO animated:YES];  

2、在ToolBar上添加UIBarButtonItem

建立幾個UIBarButtonItem,然後以數組的形式添加到Toolbar中

UIBarButtonItem *one = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:nil action:nil];  

    UIBarButtonItem *two = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemBookmarks target:nil action:nil];  

    UIBarButtonItem *three = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAction target:nil action:nil];  

    UIBarButtonItem *four = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemEdit target:nil action:nil];  

    UIBarButtonItem *flexItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];  

    [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添加

#import <UIKit/UIKit.h>  

@interface SecondViewController : UIViewController  

{  

    UIToolbar *toolBar;  

}  

@end  

在SecondViewController.m添加

- (void)viewDidLoad  

    [super viewDidLoad];  

    [self.navigationController  setToolbarHidden:YES animated:YES];  

    UIBarButtonItem *addButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemSearch target:self action:@selector(gotoThridView:)];  

    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)];  

    [toolBar setBarStyle:UIBarStyleDefault];  

    toolBar.autoresizingMask = UIViewAutoresizingFlexibleTopMargin;  

    [toolBar setItems:[NSArray arrayWithObject:addButton]];  

    [self.view addSubview:toolBar];  

    // Do any additional setup after loading the view from its nib.  

先把RootView時顯示的Toobar隐藏

    [self.navigationController setToolbarHidden:YESanimated:YES];然後把建立的Toolbar添加的SecondView中,并為Toobar設定了一個Item.  

    [toolBarsetItems:[NSArrayarrayWithObject:addButton]]; 

BarButtonItem用 的是UIBarButtonSystemItemSearch, 效果如下:

4、建立ThridView,從SecondView跳轉到

Commad+N建立一個ThridViewController,

這個addButton跳轉到ThridView

-(void)gotoThridView:(id)sender  

    ThridViewController *thridView = [[ThridViewController alloc] init];  

    [self.navigationController pushViewController:thridView animated:YES];  

    thridView.title = @"Thrid View";  

跳轉Second到Third效果:

到此UINavigationController練習的差不多了。

前面兩篇:

<a href="http://blog.csdn.net/totogo2010/article/details/7681879" target="_blank">IOS學習之UINavigationController詳解與使用(一)添加UIBarButtonItem</a>

     本文轉自新風作浪 51CTO部落格,原文連結:http://blog.51cto.com/duxinfeng/1208752,如需轉載請自行聯系原作者