ifish/Ifish/controllers/IfishTabControllers/探索/IfishUsersActivity/view/IFishActivityCateView.m

135 lines
3.2 KiB
Objective-C

//
// IFishActivityCateView.m
// Ifish
//
// Created by imac on 2017/5/12.
// Copyright © 2017年 lianlian. All rights reserved.
//
#import "IFishActivityCateView.h"
@interface IFishActivityCateView ()
@property (nonatomic,strong) UILabel *textLabe;
@property (nonatomic,strong) UIView *circleView;
@end
@implementation IFishActivityCateView
-(id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
[self creatSub];
}
return self;
}
-(void)awakeFromNib{
[super awakeFromNib];
[self creatSub];
}
-(void)layoutSubviews{
[super layoutSubviews];
}
-(void)creatSub{
if (!_circleView) {
_circleView = [[UIView alloc] init];
[self addSubview:_circleView];
}
if (!_textLabe) {
_textLabe = [[UILabel alloc] init];
_textLabe.textAlignment = NSTextAlignmentLeft;
_textLabe.textColor = [UIColor whiteColor];
_textLabe.font = [UIFont systemFontOfSize:12];
[self addSubview:_textLabe];
}
UIColor *color = [self loadrandomColor];
_textLabe.backgroundColor = color;
_circleView.backgroundColor = color;
}
-(UIColor *)loadrandomColor
{
UIColor *color = nil;
int i = (arc4random()%4) + 1;// 设置随机色
switch (i) {
case 1:
{
color = RGB(113, 219, 254);
}
break;
case 2:
{
color = RGB(255, 117, 156);
}
break;
case 3:
{
color = RGB(255, 175, 117);
}
break;
case 4:
{
color = RGB(117, 198, 255);
}
break;
default:
break;
}
return color;
}
-(void)activityViewaddTitle:(NSString *)title
{
_textLabe.text = title;
CGFloat strW = [self widthForString:title fontSize:12 andHeight:self.frame.size.height];
CGFloat labeW= strW + 15;
_textLabe.frame = CGRectMake(self.frame.size.width-labeW, 0, labeW, self.frame.size.height);
_circleView.frame = CGRectMake(self.frame.size.width-labeW - self.frame.size.height/2,0, self.frame.size.height, self.frame.size.height);
[self bringSubviewToFront:_textLabe];
_circleView.layer.masksToBounds = YES;
_circleView.layer.cornerRadius = self.frame.size.height/2;
}
#pragma -mark -functions
//获取字符串的宽度
-(float) widthForString:(NSString *)value fontSize:(float)fontSize andHeight:(float)height
{
CGRect rect = [value boundingRectWithSize:CGSizeMake(CGFLOAT_MAX, height) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:fontSize]} context:nil];
CGSize sizeToFit = rect.size;
return sizeToFit.width;
}
//获得字符串的高度
-(float) heightForString:(NSString *)value fontSize:(float)fontSize andWidth:(float)width
{
CGRect rect = [value boundingRectWithSize:CGSizeMake(width, CGFLOAT_MAX) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:fontSize]} context:nil];
CGSize sizeToFit = rect.size;
return sizeToFit.height;
}
@end