BlueBadge

#import <UIKit/UIKit.h>

 

@interface BlueBadge : UIView {

NSInteger count;

}

 

@property (nonatomic) NSInteger count;

 

- (void)drawWithCount:(NSInteger)i;

 

@end

 

#import "BlueBadge.h"

@implementation BlueBadge

@synthesize count;

 

- (id)initWithFrame:(CGRect)frame {

    if (self = [super initWithFrame:frame]) {

        // Initialization code

[self setBackgroundColor: [UIColor clearColor]];

[self setCount: 0];

    }

    return self;

}

 

- (void)drawRect:(CGRect)rect {

if (count == 0) return;

NSString *countString = [NSString stringWithFormat: @"%d", count];

UIFont *font = [UIFont boldSystemFontOfSize: 16];

CGSize numberSize = [countString sizeWithFont: font];

CGContextRef context = UIGraphicsGetCurrentContext();

float radius = numberSize.height / 2.0;

float startPoint = (rect.size.width - (numberSize.width + numberSize.height))/2.0;

CGContextSetRGBFillColor(context, 0.55, 0.6, 0.70, 1.0);

CGContextBeginPath(context);

CGContextAddArc(context, startPoint + radius, radius, radius, M_PI / 2 , 3 * M_PI / 2, NO);

CGContextAddArc(context, startPoint + radius + numberSize.width, radius, radius, 3 * M_PI / 2, M_PI / 2, NO);

CGContextClosePath(context);

CGContextFillPath(context);

[[UIColor whiteColor] set];

[countString drawInRect: CGRectMake(startPoint + radius, rect.origin.y, rect.size.width, rect.size.height) withFont: font];

}

 

- (void)drawWithCount:(NSInteger)i {

self.count = i;

[self setNeedsDisplay];

}

 

- (void)dealloc {

    [super dealloc];

}

 

 

@end

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值