toolBar很常用蔬顾,所以做了個(gè)工具類(lèi)擴(kuò)展性很好
基本介紹:
一隅居、寫(xiě)了兩個(gè)創(chuàng)建方法
+ (instancetype)toolBarViewWithFrame:(CGRect)frame andOptionStrArray:(NSArray<NSString *> *)optionStrArray;
- (instancetype)initWithFrame:(CGRect)frame andOptionStrArray:(NSArray<NSString *> *)optionStrArray;
二峡碉、其實(shí)你直接這樣創(chuàng)建就會(huì)出來(lái)這種效果:
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
self.view.backgroundColor = [UIColor lightGrayColor];
//創(chuàng)建
self.toolBarView = [[PYToolBarView alloc]initWithFrame:CGRectMake(0, 2, self.view.frame.size.width, 30) andOptionStrArray:@[@"有",@"美",@"女"]];
//添加
[self.view addSubview:self.toolBarView];
}
三须揣、里面有很多屬性可以設(shè)置下面來(lái)看看:
1. 點(diǎn)擊事件的回調(diào)
/**item點(diǎn)擊事件回調(diào)*/
@property (nonatomic,copy) void(^clickOptionItemBlock)(UIButton *button,NSString *itemText, NSInteger index);
2. 選中的索引
修改了這個(gè)值盐股,那么選中的item也會(huì)跟著變
/**選中的item索引*/
@property (nonatomic,assign) NSInteger selectItemIndex;
3. toolBar選項(xiàng)描述的集合
改變這個(gè)將會(huì)重繪,并且自動(dòng)生成相應(yīng)的toolBar
/**
* item描述的集合
* 這個(gè)程序根據(jù)這個(gè)屬性進(jìn)行劃線和分配item
*/
@property (nonatomic,strong) NSArray <NSString *>* optionStrArray;
4. show方法
其實(shí)optionStrArray這個(gè)屬性中默認(rèn)調(diào)用了這個(gè)方法
//重繪
/**展示toolBar*/
- (void)show;
可擴(kuò)展的重要屬性
一耻卡、線的一些屬性
- 每個(gè)item你都可以拿到
/**
* 儲(chǔ)存了optionItem的button
* Button的tag值加了1000
*/
@property (nonatomic,strong,readonly) NSArray <UIButton *>* optionItemInfo;
- item文本的顏色
都有默認(rèn)值
/**item的顏色*/
@property (nonatomic,strong) UIColor *itemTextColor_Select;
@property (nonatomic,strong) UIColor *itemTextColor_Normal;
@property (nonatomic,strong) UIColor *itemTextColor_Highlighted;
- 重復(fù)點(diǎn)擊是否有效
/**button是否可以重復(fù)點(diǎn)擊*/
@property (nonatomic,assign) BOOL isRecurClickItem;
二疯汁、自定義背景的View
- block回調(diào)的view
這個(gè)用了一個(gè)block回調(diào)了一個(gè)UIVeiw,這個(gè)view就是上面圖片中的藍(lán)色的VIew
有了這個(gè)view卵酪,你就可以干所有的事情了
/**關(guān)于item底部的view自定義*/
@property (nonatomic,copy) void(^setUpItemSelectBarViewBlock)(UIView *barView);
- 另外不想自定義只想小調(diào)一下那么看這里
/*
item默認(rèn)的底部的barView
view默認(rèn)是隱藏的
view具有默認(rèn)樣式
*/
@property (nonatomic,assign) CGFloat itemBottomBarViewWidth;//寬度默認(rèn)與item等寬
@property (nonatomic,assign) CGFloat itemBottomBarViewHeight;//高度默認(rèn)是2dp
//顏色默認(rèn)藍(lán)(r:0.29 g:0.56 b:0.89 a:1.00)
@property (nonatomic,strong) UIColor *itemBottomBarViewColor;
三幌蚊、實(shí)戰(zhàn)
從這樣
-
點(diǎn)一下變這樣
四谤碳、更新(+動(dòng)畫(huà) & font屬性)
- 動(dòng)畫(huà)(可自定義)
/**是否動(dòng)畫(huà)*/
@property (nonatomic,assign) BOOL isAnima_ItemBottomBarView;//設(shè)置了這個(gè)屬性直接開(kāi)啟動(dòng)畫(huà)
/**動(dòng)畫(huà)的時(shí)長(zhǎng)*/
@property (nonatomic,assign) CGFloat animaTime_ItemBottomBarView;
/**自定義TimeButtonBar動(dòng)畫(huà) - 可以定義選中的tiem的動(dòng)畫(huà)*/
//開(kāi)始動(dòng)畫(huà)
@property (nonatomic,copy) void (^animaItemButtonBarAnima_start)(UIButton *animaView);
//完成動(dòng)畫(huà)
@property (nonatomic,copy) void (^animaItemButtonBarAnima_completion)(UIButton *animaView);
/**item底部的動(dòng)畫(huà)的view*/
@property (nonatomic,strong) UIView *itemBarAnimaView;
/**動(dòng)畫(huà)view的顏色*/
@property (nonatomic,strong) UIColor *itemBarAnimaViewColor;
- 添加了item的font屬性
/**item的text font*/
@property (nonatomic,strong) UIFont *itemTextFont;