// 在这里写代码,这个方法是从xib初始化时被调用
// - (void)awakeFromNib {}
// 解归档的时候调用,如果把当前视图关联上xib文件之后
// 那么在加载显示这个自定义的视图的时候需要解归档
// xib 中自定义的视图需要解归档
- (id)initWithCoder:(NSCoder *)aDecoder {
if (self = [super initWithCoder:aDecoder]) {
[self setUp];
}
return self;
}
- (void)setUp {
self.backImageView = [[UIImageView alloc] initWithFrame:self.bounds];
self.backImageView.image = [UIImage imageNamed:@"StarsBackground"];
// 设置内容模式,让图片居左
self.backImageView.contentMode = UIViewContentModeLeft;
[self addSubview:_backImageView];
// 再粘一个,前景图像,让它在上面
self.foreImageView = [[UIImageView alloc] initWithFrame:self.backImageView.bounds];
_foreImageView.image = [UIImage imageNamed:@"StarsForeground"];
_foreImageView.contentMode = UIViewContentModeLeft;
// 我们通过必变上层的imageView的frame从而改变下面的imageView的显示
// 超出frame的图片看不见,即裁剪掉,这样就能看到下面的imageView了
_foreImageView.clipsToBounds = YES;
[self addSubview:_foreImageView];
}
- (void)setStarLevel:(double)starLevel {
_starLevel = starLevel;
_foreImageView.frame = CGRectMake(0, 0, _backImageView.frame.size.width*(starLevel/5.0), _foreImageView.frame.size.height);
}