星级评论控件

.m文件

#import "Start.h"

@implementation Start

-(void)setPercent:(CGFloat)percent

{

_percent = percent;

[self setNeedsDisplay];

}

-(void)drawRect:(CGRect)rect

{

[super drawRect:rect];

UIImage *image = [UIImage imageNamed:@"start"];

for (int i = 0; i < 5; i++) {

CGRect newRect = CGRectMake(i*0.2*rect.size.width, 0, 0.2*rect.size.width, rect.size.height );

[image drawInRect:newRect];

}

[[UIColor whiteColor] set];

UIRectFillUsingBlendMode(rect, kCGBlendModeSourceIn);

CGRect newRect= CGRectMake(0, 0, self.percent*rect.size.width, rect.size.height);

[[UIColor orangeColor] set];

UIRectFillUsingBlendMode(newRect, kCGBlendModeSourceIn);

}

-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event{

CGFloat xPoint = [[touches anyObject]locationInView:self].x;

[self setPercent:xPoint/self.bounds.size.width];

}

@end

.h文件

#import

@interface Start : UIView

@property(nonatomic,assign)CGFloat percent;

@end

demo代码地址:https://yunpan.cn/cReHb4CSMdtdj (提取码:5cd5)

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

推荐阅读更多精彩内容