【iOS】怎么做一个五角星等级显示

Simulator Screen Shot 2016年3月18日 上午10.34.27.png

如何实现

1.经常在很多APP上可以看到各种评分五角星显示,那么该如何去做呢?很简单,只需要提供三种UI的星星ICON,就可以完成。首先我们去自定义一个UIView的实体类。@implementation SXStarView

/**
 *  星星评分
 */
@implementation SXStarView

具体实现

/**
 *  初始化
 *
 *  @param frame   坐标
 *  @param statNum 数字
 *
 *  @return UIView
 */
- (instancetype)initWithFrame:(CGRect)frame andStarNum: (float)statNum
{
    if ([super initWithFrame:frame])
    {
        CGFloat width = self.frame.size.width/5;
        for (NSInteger  i = 0; i<5; i++)
        {
            UIImageView * starImg = [[UIImageView alloc]initWithFrame:CGRectMake(width *i, 0, width, width)];
            //灰色星星
            starImg.image = [UIImage imageNamed:@"ico_star"];
            [self addSubview:starImg];
            UIImageView * starImg1 = [[UIImageView alloc]initWithFrame:CGRectMake(width *i, 0, width, width)];
            //实心星星
            starImg1.image = [UIImage imageNamed:@"ico_star1"];
            starImg1.hidden = YES;
            [self addSubview:starImg1];
            
            UIImageView * starImg2 = [[UIImageView alloc]initWithFrame:CGRectMake(width *i, 0, width, width)];
            //半星星星
            starImg2.image = [UIImage imageNamed:@"ico_star3"];
            starImg2.hidden = YES;
            [self addSubview:starImg2];

            if (i<statNum)
            {
                if(statNum == i+0.5)
                {
                    starImg2.hidden = NO;
               
                }
                else
                {
                    starImg1.hidden = NO;
                }
               
            }
            
        }
        
    }
    return self;
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容