ios滑动菜单效果

由于滑动菜单效果项目中总是用到,所以封装了滑动菜单效果

如图:


代码实现:以下为使用方法:

 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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值