一、簡介
<<一個工具欄是顯示一個或多個按鈕被稱之為工具欄項一種控制。當(dāng)被輕按時工具欄瞬間突出或不改變某個項目的外觀。
<<經(jīng)常使用的一個工具條控件,雖然在上面可以添加子控件,但是toolbar中只能添加UIBarButtonItem類型的子控件,其他子控件會被包裝成這種類型的,例如UIButton。通過工具欄可以用來對視圖View中內(nèi)容進行操作。
<<UIToolBar存在于UINavigationController導(dǎo)航欄控制器中。并且默認(rèn)被隱藏。
<<繼承關(guān)系:UIToolBar --> UIView?-->UIResponder-->NSObject
格式為
1--> 設(shè)置item位置的樣式(屬性的作用)
設(shè)置標(biāo)簽欄風(fēng)格,默認(rèn)高度49
typedef NS_ENUM(NSInteger, UIBarStyle) {
? ? UIBarStyleDefault? ? ? ? ? = 0,//默認(rèn)樣式
? ? UIBarStyleBlack? ? ? ? ? ? = 1,//黑色
? ? UIBarStyleBlackOpaque? ? ? = 1, // 棄用屬性
? ? UIBarStyleBlackTranslucent = 2, //?棄用屬性
} __TVOS_PROHIBITED;(如果屬性有枚舉類型的話,這里會有枚舉類型說明)
toolBar.barStyle =UIBarStyleBlack;(這是具體的例子)
@property(nonatomic) UIBarStyle barStyle UI_APPEARANCE_SELECTOR __TVOS_PROHIBITED; (這是屬性的說明)
二、UIToolBar的屬性(屬性的順序與蘋果API一致)
typedef NS_ENUM(NSInteger, UIBarStyle) {
? ? UIBarStyleDefault? ? ? ? ? = 0,//默認(rèn)樣式
? ? UIBarStyleBlack? ? ? ? ? ? = 1,//黑色
? ? UIBarStyleBlackOpaque? ? ? = 1, // 棄用屬性
? ? UIBarStyleBlackTranslucent = 2, //?棄用屬性
} __TVOS_PROHIBITED;
toolBar.barStyle =UIBarStyleBlack;
@property(nonatomic) UIBarStyle barStyle UI_APPEARANCE_SELECTOR __TVOS_PROHIBITED; // 默認(rèn)是 ?UIBarStyleDefault
三、UIToolBar的標(biāo)簽屬性
1-->設(shè)置標(biāo)簽
toolBar.items = itemsArray。
@property(nullable, nonatomic, copy) NSArray *items;//get/set UITabBarItems,該數(shù)組必須包含的UITabBarItem對象 默認(rèn)是nil 改變時沒有動畫效果 按順序展示
2-->設(shè)置item是否透明
toolBar.translucent =NO;
@property(nonatomic,assign,getter=isTranslucent) BOOL translucent NS_AVAILABLE_IOS(3_0) UI_APPEARANCE_SELECTOR; //iOS 6和之前,默認(rèn)情況下為NO。如果barStyle將UIBarStyleBlackTranslucent總是NO。
3->?設(shè)置標(biāo)簽與動畫顯示
??? [toolBar setItems:tabBarItemArray animated:YES];
- (void)setItems:(nullable NSArray *)items animated:(BOOL)animated;?
四、UIToolBar的顏色屬性
1-->設(shè)置渲染顏色,會影響選中字體和圖案的渲染
toolBar.tintColor=[UIColor redColor];
@property(null_resettable, nonatomic, strong) UIColor *tintColor NS_AVAILABLE_IOS(5_0);//tintColor是通過superview層次結(jié)構(gòu)繼承的
2-->?設(shè)置導(dǎo)航欄的顏色
toolBar.barTintColor = [UIColor whiteColor];
@property(nullable, nonatomic, strong) UIColor *barTintColor NS_AVAILABLE_IOS(7_0) UI_APPEARANCE_SELECTOR;//?barTintColor會影響背景顏色, iOS7出現(xiàn)的新屬性,用來代替tintColor的作用
五、UIToolBar的背景圖案屬性
1-->設(shè)置工具欄的背景圖像
[[UIToolbar appearance] setBackgroundImage:[UIImage imageNamed:@"toolbarBackgroundImage"] forToolbarPosition:UIToolbarPositionTop barMetrics:UIBarMetricsDefault];
- (void)setBackgroundImage:(nullable UIImage *)backgroundImage forToolbarPosition:(UIBarPosition)topOrBottom barMetrics:(UIBarMetrics)barMetrics NS_AVAILABLE_IOS(5_0) UI_APPEARANCE_SELECTOR;
備注:UIToolbarPosition UIToolbar背景
2-->?獲取工具欄的背景圖像
UIImage *image = [toolbar backgroundImageForToolbarPosition:UIToolbarPositionTop barMetrics:UIBarMetricsDefault];
- (nullable UIImage *)backgroundImageForToolbarPosition:(UIBarPosition)topOrBottom barMetrics:(UIBarMetrics)barMetrics NS_AVAILABLE_IOS(5_0) UI_APPEARANCE_SELECTOR;
3-->設(shè)置工具欄的陰影圖像
[toolBar?setShadowImage:[UIImage?new]?forToolbarPosition:UIBarPositionTop];??
- (void)setShadowImage:(nullable UIImage *)shadowImage forToolbarPosition:(UIBarPosition)topOrBottom NS_AVAILABLE_IOS(6_0) UI_APPEARANCE_SELECTOR;
4-->獲取工具欄的陰影圖像
?UIImage *image = [toolbar shadowImageForToolbarPosition:UIToolbarPositionTop ];
- (nullable UIImage *)shadowImageForToolbarPosition:(UIBarPosition)topOrBottom NS_AVAILABLE_IOS(6_0) UI_APPEARANCE_SELECTOR;七、UITabBar的背景圖案屬性
六、UIToolBar的代理屬性(屬性的順序與蘋果API一致)
1-->聲明UIToolbarDelegate代理
toolBar .delegate = self;//聲明代理
@property(nullable, nonatomic, weak) id<UIToolbarDelegate> delegate NS_AVAILABLE_IOS(7_0);//設(shè)置UIToolbarDelegate代理,當(dāng)工具欄由UINavigationController管理時,不需要設(shè)置委托。
七、UIToolBar的UIToolbarDelegate
1、設(shè)置UIBarPosition
- (UIBarPosition)positionForBar:(id)bar
{
? ??NSLog(@"positionForBar");
? ??return UIBarPositionTop;
}
- (UIBarPosition)positionForBar:(id)bar;
參考