1、.h
@interface StarView : UIView
{
UIView *_backView;
UIView *_foreView;
}
-(void)setStar:(float)score;
2、.m
@implementation StarView
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
[self makeView];
}
return self;
}
//如果用xib创建的话,需要添加
-(void)awakeFromNib
{
[self makeView];
}
-(void)makeView
{
_backView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 15*5, 14)];
[self addSubview:_backView];
[_backView release];
_foreView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 15*5, 14)];
_foreView.contentMode = UIViewContentModeLeft;
_foreView.clipsToBounds = YES;
[self addSubview:_foreView];
[_foreView release];
for (int i = 0; i < 5; i++) {
UIImageView *backStar = [[UIImageView alloc] initWithFrame:CGRectMake(i*15, 0, 15, 14)];
backStar.image = [UIImage imageNamed:@"1.主页_16.png"];
[_backView addSubview:backStar];
[backStar release];
UIImageView *foreStar = [[UIImageView alloc] initWithFrame:CGRectMake(i*15, 0, 15, 14)];
foreStar.image = [UIImage imageNamed:@"1.主页_14.png"];
[_foreView addSubview:foreStar];
[foreStar release];
}
}
-(void)setStar:(float)score
{
_foreView.frame = CGRectMake(0, 0, 75*(score/5.0), 14);
}