#import "ViewController.h"
#import "LCLevelView.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
LCLevelView *level = [[LCLevelView alloc]init];
level.frame = CGRectMake(20, 20, 60, 24);
level.level = 3.5;
[self.view addSubview:level];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
}
@end
#import <UIKit/UIKit.h>
/**
* 应根据得到的数据自动生成不同图案的星星图片
*/
@interface LCLevelView : UIView
@property(nonatomic,assign)CGFloat level;
@end
#import "LCLevelView.h"
@implementation LCLevelView
-(void)setLevel:(CGFloat)level
{
NSInteger grade = (NSInteger)level;
for (NSInteger i = 0; i < grade; i++) {
[self createStartImage:@"full_star" position:i];
}
if (level - grade) {
[self createStartImage:@"half_star" position:grade++];
}
for (NSInteger i = grade; i < 5; i++) {
[self createStartImage:@"empty_star" position:i];
}
}
-(void)createStartImage:(NSString *)imageName position:(NSInteger)position
{
UIImageView *imageview = nil;
if (self.subviews.count == 5) {
imageview = self.subviews[position];
}else
{
imageview = [[UIImageView alloc]init];
CGRect startFrame = CGRectMake(0, 0, self.bounds.size.height, self.bounds.size.height);
imageview.frame = CGRectOffset(startFrame, position * self.bounds.size.height, 0);
[self addSubview:imageview];
}
imageview.image = [UIImage imageNamed:imageName];
}
@end