iOS选项卡效果实现

实现效果:

控件是如何使用的
添加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/JerryLMJ/LMJTab

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容