iOS选项卡效果实现

作者: JerryLMJ | 来源:发表于2016-08-25 10:37 被阅读4038次

    实现效果:

    控件是如何使用的
    添加LMJTabDelegate代理

    LMJTab * tab = [[LMJTab alloc] initWithFrame:CGRectMake(10, 50, 300, 30) lineWidth:1 lineColor:[UIColor blackColor]];
    [tab setItemsWithTitle:[NSArray arrayWithObjects:@"选项一",@"选项二",@"选项三", nil] normalItemColor:[UIColor whiteColor] selectItemColor:[UIColor blackColor] normalTitleColor:[UIColor blackColor] selectTitleColor:[UIColor whiteColor] titleTextSize:15 selectItemNumber:1];
    tab.delegate           = self;
    tab.layer.cornerRadius = 5.0;
    [self.view addSubview:tab];
    

    代理函数

    -(void)tab:(LMJTab *)tab didSelectedItemNumber:(NSInteger)number{
        NSLog(@"CLICKED:%ld",number);
    }
    

    ** LMJTab介绍:**

    @protocol LMJTabDelegate <NSObject>
    
    -(void)tab:(LMJTab *)tab didSelectedItemNumber:(NSInteger)number;
    
    @end
    
    @interface LMJTab : UIView
    
    @property (nonatomic,assign) id<LMJTabDelegate>delegate;
    
    /**
     *  控件初始化
     *
     *  @param frame     控件的frame
     *  @param lineWidth 边线宽度
     *  @param lineColor 边线颜色
     *
     *  @return 控件实例
     */
    -(id)initWithFrame:(CGRect)frame lineWidth:(CGFloat)lineWidth lineColor:(UIColor *)lineColor;
    
    /**
     *  设置选项卡的Items
     *
     *  @param titles      选项卡的标题数组
     *  @param nItemColor  正常选项的颜色
     *  @param sItemColor  选中选项的颜色
     *  @param nTitleColor 正常标题的颜色
     *  @param sTitleColor 选中标题的颜色
     *  @param size        标题大小
     *  @param number      默认选中选项(取值范围:0 ~ ...)
    */
    -(void)setItemsWithTitle:(NSArray *)titles normalItemColor:(UIColor *)nItemColor selectItemColor:(UIColor *)sItemColor normalTitleColor:(UIColor *)nTitleColor selectTitleColor:(UIColor *)sTitleColor titleTextSize:(CGFloat)size selectItemNumber:(NSInteger)number;
    
    @end
    

    具体实现参见实例Demo:
    https://github.com/MajorLMJ/LMJTab

    版权声明:出自MajorLMJ技术博客的原创作品 ,转载时必须注明出处及相应链接!

    相关文章

      网友评论

        本文标题:iOS选项卡效果实现

        本文链接:https://www.haomeiwen.com/subject/dwaosttx.html