iOS星级评价效果

//把两张图上下重叠,应用UIView和CALayer的基本用法,通过剪裁,实现星级评价效果。

#import "StarView.h"

@implementation StarView

- (id)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
        [self createStarViewWithStarIndex:3];
    }
    return self;
}

- (void)createStarViewWithStarIndex:(CGFloat)starIndex
{
    //No.1
    //开始写代码,现有StarsForeground.png和StarsBackground.png两张图,要求上下重叠实现星级评价效果(即,共五颗星,三星评价时三颗为黄色两颗为灰色,其中黄色五颗星图片为StarsForeground.png)

    //图片的宽度
    CGFloat imageWidth = 64;

    UIImage *image1 = [UIImage imageNamed:@"StarsForeground.png"];
    UIImageView *foreView = [[UIImageView alloc] initWithImage: image1];
    foreView.frame = CGRectMake(0, 0, imageWidth, 30);

    UIImage *image2 = [UIImage imageNamed:@"StarsBackground.png"];
    UIImageView *backView = [[UIImageView alloc] initWithImage: image2];
    backView.frame = CGRectMake(0, 0, imageWidth, 30);

    foreView.clipsToBounds = YES;
    foreView.contentMode = UIViewContentModeLeft;
    CGFloat w = starIndex * imageWidth / 5;
    foreView.frame = CGRectMake(0, 0, w, 30);

    [self addSubview:backView];
    [self addSubview:foreView];

    //end_code
}
@end
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值