原文鏈接: http://blog.csdn.net/weisubao/article/details/39664121
(1)toolbar屬性胎食、toolbarItems與上一講的navigationBar逗宜、navigationItem類似。只不過toolbarItems沒有navigationItem的左右區(qū)分剃诅,它就自己一個人在做事巷送,相當(dāng)于沒有下屬。
(2)可以在toolbar上設(shè)置很多综苔,比如背景顏色惩系、背景圖片、背景樣式如筛、大小位置(不過有些貌似設(shè)置無效),當(dāng)然和navigationBar一樣抒抬,對于它的是否顯示和隱藏是由它的老爸即navigationController控制的杨刨。
(3)重點是:我們可以利用toolbarItems來設(shè)置工具條上得按鈕,我們一般APP看到的下面有3-4個選項比如“首頁”擦剑、“設(shè)置”這些都可以作為UIBarButtonItem對象被加載到這個工具條上妖胀,當(dāng)然,從toolbarItems名字看出來惠勒,它又個“s”赚抡,所以我們得把單獨的UIBarButtonItem對象裝到一個數(shù)組中,然后把這個數(shù)組賦值給toolbarItems纠屋。
(4)而在此過程中涂臣,我們認識到了一個很重要的UIBarButtonItem,它是系統(tǒng)自帶的售担,之前我們講過照相機赁遗、reply這些系統(tǒng)自帶的按鈕,這次說的是UIBarButtonSystemItemFlexibleSpace族铆,嚴(yán)格說它不是一個合格的bar按鈕岩四,而是一個可以自由縮放的區(qū)域,類似于彈簧哥攘,其他地方被占滿了它就縮小一些剖煌,沒占滿它就大一些材鹦。它用來排版我們這些UIBarButtonItem,有兩個UIBarButtonItem時耕姊,我們除了再首位增加一個UIBarButtonSystemItemFlexibleSpace侠姑,還在它們中間增加一個,它們就居中了箩做,如果有三個莽红,你猜到會怎么做的吧。
我們就在導(dǎo)航控制器的根視圖控制器上做的實驗邦邦,所以此處就貼這部分代碼(當(dāng)然安吁,你要在AppDelegate.m中創(chuàng)建導(dǎo)航控制器并把我們下面的ViewController實例化的對象設(shè)置為根視圖控制器,并且把self.window的rootViewController變成這個導(dǎo)航控制器燃辖,才能正常顯示鬼店,詳見前面兩節(jié)):
#import "ViewController.h"@interface ViewController ()@end@implementation ViewController- (void)viewDidLoad { //設(shè)置toolbarHidden隱藏和顯示,兩種方法均可 self.navigationController.toolbarHidden=NO; [self.navigationController setToolbarHidden:NO animated:YES]; //設(shè)置toolbarHidden背景顏色 //[self.navigationController.toolbar setBarTintColor:[UIColor redColor]]; //這個貌似沒有用(設(shè)置背景的) //[self.navigationController.toolbar setBackgroundColor:[UIColor orangeColor]]; //設(shè)置toolbarHidden樣式黔龟,黑色妇智,黑色透明等等,但貌似都是半透明效果 [self.navigationController.toolbar setBarStyle:UIBarStyleBlack]; //設(shè)置toolbarHidden背景圖片氏身,forToolbarPosition是位置狀態(tài)是放在什么地方時顯示設(shè)置它的位置巍棱,UIBarMetricsDefault是狀態(tài)設(shè)置在豎屏還是橫屏?xí)r顯示 [self.navigationController.toolbar setBackgroundImage:[UIImage imageNamed:@"navigationBar.png"] forToolbarPosition:UIBarPositionBottom barMetrics:UIBarMetricsDefault]; //可以設(shè)置位置,但貌似無效果 self.navigationController.toolbar.frame=CGRectMake(0, 0, 375, 44); //重點是設(shè)置上面的按鈕這些 //和設(shè)置navigationBarItem類似 //先設(shè)置一個UIBarButtonItem蛋欣,然后組成數(shù)組航徙,然后把這個數(shù)組賦值給self.toolbarItems UIBarButtonItem *btn1=[[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:nil]; UIBarButtonItem *btn2=[[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemBookmarks target:self action:nil]; UIBarButtonItem *btn3=[[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemCompose target:self action:nil]; UIBarButtonItem *btn4=[[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:self action:nil]; NSArray *arr1=[[NSArray alloc]initWithObjects:btn4,btn1,btn4,btn2,btn4,btn3,btn4, nil]; self.toolbarItems=arr1; self.view.backgroundColor=[UIColor purpleColor]; [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib.}@end