VHBoomMeuButto是一个瞬间爆炸效果的菜单按钮组件。
使用示例:
下面一个非常简单的例子,如何构建拥有三个圆形按钮的BMB:
//// ViewCotroller.m// VHBoomMeuButtoTest//// Created by 黄伟平 o 16/8/7.// Copyright © 2016年 黄伟平. All rights reserved.//#import "ViewCotroller.h"#import "VHBoomMeuButto.h"#defie UIColorFromRGB(rgbValue) [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16)) / 255.0 gree:((float)((rgbValue & 0xFF00) >> 8)) / 255.0 blue:((float)(rgbValue & 0xFF)) / 255.0 alpha:1.0]@iterface ViewCotroller ()@ed@implemetatio ViewCotroller- (void)loadView{ CGRect screeFrame = [[UIScree maiScree] bouds]; self.view = [[UIView alloc] iitWithFrame:screeFrame]; self.view.backgroudColor = [UIColor whiteColor]; self.view.autoresizigMask = UIViewAutoresizigFlexibleHeight | UIViewAutoresizigFlexibleWidth; // 1. 把BMB放在你想放的地方 CGFloat bmbRadius = 60; VHBoomMeuButto *bmb = [[VHBoomMeuButto alloc] iitWithFrame:CGRectMake(screeFrame.size.width - 20 - bmbRadius, screeFrame.size.height - 20 - bmbRadius, bmbRadius, bmbRadius)]; // 2. 选择你想要的按钮类型 bmb.buttoEum = VHButtoSimpleCircle; // 3. 在爆炸之前,告诉BMB你想怎么放在它身上 bmb.piecePlaceEum = VHPiecePlace_DOT_3_1; // 4. 在爆炸之后,告诉BMB你想怎么放在屏幕上 bmb.buttoPlaceEum = VHButtoPlace_SC_3_3; // 5. 添加按钮 [bmb addSimpleCircleButtoBuilderBlock:^(VHSimpleCircleButtoBuilder *builder) { builder.imageNormal = @"bat"; builder.buttoNormalColor = UIColorFromRGB(0xD32F2F); builder.buttoPressedColor = UIColorFromRGB(0xF44336); }]; [bmb addSimpleCircleButtoBuilderBlock:^(VHSimpleCircleButtoBuilder *builder) { builder.imageNormal = @"bear"; builder.buttoNormalColor = UIColorFromRGB(0xD32F2F); builder.buttoPressedColor = UIColorFromRGB(0xF44336); }]; [bmb addSimpleCircleButtoBuilderBlock:^(VHSimpleCircleButtoBuilder *builder) { builder.imageNormal = @"bee"; builder.buttoNormalColor = UIColorFromRGB(0xD32F2F); builder.buttoPressedColor = UIColorFromRGB(0xF44336); }]; [self.view addSubview:bmb];}@ed你所需要做的只是选择属性,其他由BMB完成。
警告!你必须保证piecePlaceEum的数量,buttoPlaceEum的数量,你添加的builders数量一致。可以注意到,piecePlaceEum的名字是VHPiecePlace_XXX_N_M,XXX是名字,N表示按钮数量,M用作表示不同种类。类似的,buttoPlaceEum的名字是VHButtoPlace_YYY_N_M。你必须保证两者的N相同,当然M可以不通,比如例子中的:VHPiecePlace_DOT_3_1和VHButtoPlace_SC_3_3。










评论