你好,歡迎來到IOS教程網

 Ios教程網 >> IOS訊息 >> 關於IOS >> toolbar工具條和toolbarItems

toolbar工具條和toolbarItems

編輯:關於IOS

(1)toolbar屬性、toolbarItems與上一講的navigationBar、navigationItem類似。只不過toolbarItems沒有navigationItem的左右區分,它就自己一個人在做事,相當於沒有下屬。

(2)可以在toolbar上設置很多,比如背景顏色、背景圖片、背景樣式、大小位置(不過有些貌似設置無效),當然和navigationBar一樣,對於它的是否顯示和隱藏是由它的老爸即navigationController控制的。

(3)重點是:我們可以利用toolbarItems來設置工具條上得按鈕,我們一般APP看到的下面有3-4個選項比如“首頁”、“設置”這些都可以作為UIBarButtonItem對象被加載到這個工具條上,當然,從toolbarItems名字看出來,它又個“s”,所以我們得把單獨的UIBarButtonItem對象裝到一個數組中,然後把這個數組賦值給toolbarItems。

(4)而在此過程中,我們認識到了一個很重要的UIBarButtonItem,它是系統自帶的,之前我們講過照相機、reply這些系統自帶的按鈕,這次說的是UIBarButtonSystemItemFlexibleSpace,嚴格說它不是一個合格的bar按鈕,而是一個可以自由縮放的區域,類似於彈簧,其他地方被占滿了它就縮小一些,沒占滿它就大一些。它用來排版我們這些UIBarButtonItem,有兩個UIBarButtonItem時,我們除了再首位增加一個UIBarButtonSystemItemFlexibleSpace,還在它們中間增加一個,它們就居中了,如果有三個,你猜到會怎麼做的吧。

我們就在導航控制器的根視圖控制器上做的實驗,所以此處就貼這部分代碼(當然,你要在AppDelegate.m中創建導航控制器並把我們下面的ViewController實例化的對象設置為根視圖控制器,並且把self.window的rootViewController變成這個導航控制器,才能正常顯示,詳見前面兩節):

<span class="comment">#import "ViewController.h"</span>

@<span class="keyword">interface</span> ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
  <span class="comment">//設置toolbarHidden隱藏和顯示,兩種方法均可</span>
  <span class="keyword">self</span>.navigationController.toolbarHidden=NO;
  [<span class="keyword">self</span>.navigationController setToolbarHidden:NO animated:YES];
  <span class="comment">//設置toolbarHidden背景顏色</span>
  <span class="comment">//[self.navigationController.toolbar setBarTintColor:[UIColor redColor]];</span>
  <span class="comment">//這個貌似沒有用(設置背景的)</span>
  <span class="comment">//[self.navigationController.toolbar setBackgroundColor:[UIColor orangeColor]];</span>
  <span class="comment">//設置toolbarHidden樣式,黑色,黑色透明等等,但貌似都是半透明效果</span>
  [<span class="keyword">self</span>.navigationController.toolbar setBarStyle:UIBarStyleBlack];
  <span class="comment">//設置toolbarHidden背景圖片,forToolbarPosition是位置狀態是放在什麼地方時顯示設置它的位置,UIBarMetricsDefault是狀態設置在豎屏還是橫屏時顯示</span>
  [<span class="keyword">self</span>.navigationController.toolbar setBackgroundImage:[UIImage imageNamed:@<span class="string">"navigationBar.png"</span>] forToolbarPosition:UIBarPositionBottom barMetrics:UIBarMetricsDefault];
  <span class="comment">//可以設置位置,但貌似無效果</span>
  <span class="keyword">self</span>.navigationController.toolbar.frame=CGRectMake(<span class="number">0</span>, <span class="number">0</span>, <span class="number">375</span>, <span class="number">44</span>);
  
  <span class="comment">//重點是設置上面的按鈕這些</span>
  <span class="comment">//和設置navigationBarItem類似</span>
  <span class="comment">//先設置一個UIBarButtonItem,然後組成數組,然後把這個數組賦值給self.toolbarItems</span>
  UIBarButtonItem *btn1=[[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:<span class="keyword">self</span> action:nil];
  UIBarButtonItem *btn2=[[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemBookmarks target:<span class="keyword">self</span> action:nil];
  UIBarButtonItem *btn3=[[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemCompose target:<span class="keyword">self</span> action:nil];
  UIBarButtonItem *btn4=[[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:<span class="keyword">self</span> action:nil];
  NSArray *arr1=[[NSArray alloc]initWithObjects:btn4,btn1,btn4,btn2,btn4,btn3,btn4, nil];
  <span class="keyword">self</span>.toolbarItems=arr1;
  
  <span class="keyword">self</span>.view.backgroundColor=[UIColor purpleColor];
  [super viewDidLoad];
  <span class="comment">// Do any additional setup after loading the view, typically from a nib.</span>
}

@end
  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved