官术网_书友最值得收藏!

  • 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 改變工具條的顏色

主站蜘蛛池模板: 山丹县| 宁蒗| 三江| 大丰市| 宜城市| 辉县市| 利川市| 师宗县| 保靖县| 松滋市| 新密市| 怀来县| 宁城县| 佛坪县| 兴山县| 益阳市| 泰州市| 建水县| 镇赉县| 理塘县| 通榆县| 渝中区| 齐齐哈尔市| 娱乐| 黄石市| 会泽县| 和硕县| 丹东市| 若尔盖县| 延长县| 江安县| 新绛县| 武宁县| 南川市| 内江市| 贵阳市| 文山县| 德昌县| 乳山市| 宜城市| 额济纳旗|