- iPhone UIKit詳解
- 王志剛 王中元 朱蕾編著
- 771字
- 2019-01-01 07:04:27
3.5 工具條
3.5.1 工具條的顯示
從iPhone OS 3.0開始,通過調(diào)用UIViewController的setToolbarItems:animated:方法可以簡單地在畫面中追加工具條。下面是簡單的實例代碼。
// 工具條左側(cè)顯示的按鈕 UIBarButtonItem* button1 = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButt onSystemItemRefresh target:self action:@selector(buttonDidPush)] autorelease]; // 自動伸縮按鈕以及按鈕間的空白 UIBarButtonItem*spacer = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarBut tonSystemItemFlexibleSpace target:nil action:nil ] autorelease]; // 工具條右側(cè)顯示的按鈕 UIBarButtonItem* button2 = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarBut tonSystemItemUndo target:self action:@selector(buttonDidPush)] autorelease]; // 全部保存到NSArray中 NSArray*buttons = [NSArray arrayWithObjects:button1,spacer,button2,nil]; // 將準備好的NSArray作為工具條的項目設(shè)置進去 [self setToolbarItems:buttons animated:YES];
首先,如果要顯示工具條,必須將UINavigationController的toolbarHidden屬性設(shè)置為NO(也可調(diào)用setToolBarHidden:animated:方法進行設(shè)置)。但是這樣只會顯示一個空的工具條,必須通過調(diào)用UIViewController的setToolbarItems:animated:方法在工具條中設(shè)置各種按鈕項目(UIBarButtonItem)。實例代碼執(zhí)行后,會顯示如圖3-19所示的畫面,在畫面的下方顯示設(shè)置的工具條。

圖3-19 工具條實例
3.5.2 工具條的自動隱藏
上一小節(jié)介紹了工具條的顯示方法。但是,一旦工具條顯示,只要沒有明確隱藏它,跳轉(zhuǎn)到下一畫面后,工具條仍然會保持顯示狀態(tài),如圖3-20所示。

圖3-20 畫面跳轉(zhuǎn)后工具條仍然顯示
有的時候并不希望工具條一直顯示著。此時就要用到UIViewController的hidesBottomBarWhenPushed屬性。在UINavigationController中調(diào)用pushViewController方法跳轉(zhuǎn)到下一個畫面前,將此畫面的hidesBottomBarWhenPushed屬性設(shè)置為YES后,以后的畫面將隱藏工具條。設(shè)置toolbarHidden屬性或者調(diào)用setToolbar Hidden:animated:方法也能實現(xiàn)隱藏工具條,但是使用hidesBottomBarWhenPushed屬性后,當(dāng)再次返回到原畫面時工具條將自動顯示,而上述兩種方式將一直隱藏工具條。實現(xiàn)效果如圖3-21所示。

圖3-21 使用hidesBottomBarWhenPushed屬性后的效果
注意:hidesBottomBarWhenPushed屬性僅僅是在畫面跳轉(zhuǎn)的時候決定是否隱藏工具條。畫面跳轉(zhuǎn)后,如果將UINavigationController的toolbarHidden屬性設(shè)置成了NO,程序還會以后者的設(shè)置優(yōu)先。
3.5.3 向工具條中追加按鈕
關(guān)于向工具條中追加按鈕的知識,請參照下面第3.6節(jié)的介紹。
3.5.4 工具條的顏色
可以通過改變UIToolbar類的tintColor屬性,改變導(dǎo)航條的背景顏色。以下是實例代碼。
// 將工具條變成藍色 self.navigationController.toolbar.tintColor = [UIColor blueColor];
此代碼的執(zhí)行結(jié)果如圖3-22所示(圖中工具條的背景實際為藍色)。

圖3-22 改變工具條的顏色
- 多頻帶脈沖超寬帶系統(tǒng)關(guān)鍵技術(shù)及優(yōu)化方法
- 彩色電視機檢測數(shù)據(jù)及信號波形實修實查大全
- 3D教育藍皮書
- 反相對稱-擴頻通信系統(tǒng)抗噪聲性能研究
- LTE無線網(wǎng)絡(luò)優(yōu)化
- 寬帶光接入技術(shù)
- 5G無線系統(tǒng)設(shè)計與國際標準
- 現(xiàn)代集成電路制造技術(shù)原理與實踐
- 5G系統(tǒng)技術(shù)原理與實現(xiàn)
- 雙色圖文詳解電感器及應(yīng)用電路
- 變頻技術(shù)一學(xué)就會
- WCDMA網(wǎng)絡(luò)測試與優(yōu)化教程
- 無源RFID電子標簽天線理論與工程 (清華開發(fā)者書庫)
- 元器件檢測技能零基礎(chǔ)成長
- 電子技術(shù)及應(yīng)用(第2版)