最近閑著沒事笆豁,就想模仿模仿一些NB應(yīng)用的一些東西,這不赤赊,感覺微信的底部彈框看著還不錯(cuò)闯狱,于是就想試試寫寫(總不能老是用系統(tǒng)的吧),廢話不多說抛计,先看效果圖
整個(gè)功能是封裝的一個(gè)view哄孤,因此作為工具在合適不過了,拿到哪里都能用吹截。
利用block瘦陈,將點(diǎn)擊不同的事件傳到當(dāng)前控制器,方便波俄,簡(jiǎn)單晨逝,整個(gè)控制器中代碼看著也不會(huì)冗余。
controller中的調(diào)用:
self.popView = [[ZYFPopview alloc]initInView:[UIApplication sharedApplication].keyWindow rows:@[@"0",@"1",@"2"] doneBlock:^(NSInteger selectIndex) {
NSLog(@"%ld",selectIndex);
} cancleBlock:^{
NSLog(@"取消");
}];
[self.popView showPopView];
ZYFPopView中的創(chuàng)建:
-(instancetype)initInView:(UIView *)hostView rows:(NSMutableArray *)items doneBlock:(void (^)(NSInteger))ondoneBlock cancleBlock:(void (^)())cancleBlock{
self = [super initWithFrame:hostView.bounds];
if (self) {
self.hostView = hostView;
self.data = items;
self.onDoneBlock = ondoneBlock;
self.onCancleBlock = cancleBlock;
[self setupView];
}
return self;
}
在創(chuàng)建之前懦铺,首先定義好選中的block和取消的block捉貌。初學(xué)iOS時(shí),看見這些功能阀趴,總感覺不知道怎么寫昏翰,但是隨著學(xué)習(xí)的深入,慢慢你會(huì)發(fā)現(xiàn)刘急,其實(shí)都不難棚菊。
最后附上GitHub鏈接:https://github.com/Dreamer929/WeChat-and-Alipay-bottom-bomb-box
想看源碼的同學(xué)可以下載看看。