由于滑动菜单效果项目中总是用到,所以封装了滑动菜单效果
如图:
代码实现:以下为使用方法:
ScrollButtonView * sbv=[[ScrollButtonViewalloc]initWithFrame:CGRectMake(0,0, SCREEN_WITCH,44)];
sbv.scrollBlock=^(NSInteger flage)
{
switch (flage) {
case0:
{
//点击事件
}
break;
case1:
{
}
break;
case2:
{
}
break;
case3:
{
}
break;
case4:
{
self.number=3;
}
break;
case5:
{
}
break;
default:
break;
}
[self.myTableViewreloadData];
};
//具体的代码实现
- (instancetype)initWithFrame:(CGRect)frame
{
self = [superinitWithFrame:frame];
if (self) {
self=[[NSBundlemainBundle] loadNibNamed:@"ScrollButtonView"owner:selfoptions:nil].lastObject;
self.frame=frame;
[self addSubview: [selfcreateViewPage]];
}
return self;
}
-(UIView *)createViewPage
{
if (self.scrollBtnView) {
self.scrollBtnView.frame=self.frame;
self.titleArray=[NSMutableArrayarray];
//此处可以使用传值得方法自动显示个数
[self.titleArrayaddObjectsFromArray:@[@"全部",@"待审核",@"待回寄",@"待收货",@"待退款",@"已完成"]];
for (int i=0; i<self.titleArray.count; i++) {
UIButton * titleButton=[UIButtonbuttonWithType:UIButtonTypeCustom];
titleButton=[[UIButtonalloc] initWithFrame:CGRectMake(10+i*(20+60),5, 60,30)];
[titleButton setTitle:[self.titleArrayobjectAtIndex:i] forState:UIControlStateNormal];
[titleButton setTitleColor:[UIColorblackColor] forState:UIControlStateNormal];
[titleButton setTitleColor:[UIColorredColor] forState:UIControlStateSelected];
[titleButton addTarget:selfaction:@selector(butClcik:)forControlEvents:UIControlEventTouchUpInside];
titleButton.tag=1200+i;
if (i==0) {
titleButton.selected=YES;
}
[self.scrollBtnViewaddSubview:titleButton];
}
self.belowView=[[UIViewalloc]initWithFrame:CGRectMake(10,36 , 60, 2)];
self.belowView.backgroundColor=[UIColorredColor];
[self.scrollBtnViewaddSubview:self.belowView];
self.scrollBtnView.showsHorizontalScrollIndicator=NO;
self.scrollBtnView.contentSize=CGSizeMake(self.titleArray.count*80,44);
}
return self.scrollBtnView;
}
//点击block传值和动态显示下标
-(void)butClcik:(UIButton *)btn
{
for (UIButton * scBtnin self.scrollBtnView.subviews) {
if ([scBtn isKindOfClass: [UIButtonclass]]) {
if (scBtn.tag!=btn.tag) {
scBtn.selected=NO;
}else
{
scBtn.selected=YES;
}
}
}
[UIView animateWithDuration:0.5animations:^{
self.belowView.frame=CGRectMake((btn.tag-1200)*(20+60)+10,36, 60,2);
}];
if (btn) {
self.scrollBlock(btn.tag-1200);
}
}
//次数可以自定义菜单个数
//-(void)setTitleArray:(NSMutableArray *)titleArray
//{
// self.titleArray=titleArray;
//
//}
//点击偏移到尾处
- (IBAction)sizeBtnClick:(UIButton *)sender {
self.scrollBtnView.contentOffset=CGPointMake(self.scrollBtnView.contentSize.width-self.scrollBtnView.bounds.size.width,0);
}
代码下载地址:http://download.csdn.net/detail/bddzzw/9709155