上一篇给大家介绍了TQStarRatingView是如何来处理分数展示的。
这次我们来讲讲其它一些内容。
首先讲讲如何响应用户的触摸操作来设置/更改分数。打开源码,可以看到实现了touchesMove事件:
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *touch = [touches anyObject];
CGPoint point = [touch locationInView:self];
CGRect rect = CGRectMake(0, 0, self.frame.size.width, self.frame.size.height);
if(CGRectContainsPoint(rect,point))
{
[self changeStarForegroundViewWithPoint:point];
}
}
根据事件在view的位置point,可以设置当前需要显示的高亮星星的宽度,这样自然就能够看到我们想要的设置分数的效果。
那么有时候我们仅仅只是想显示而已呢,要怎么处理?
很简单,我们只需要设置userInteractionEnabled为NO就行了,即:
_tqStarRatingView.userInteractionEnabled = NO;
说了那么多,来说说怎么用吧。
使用之前先在TQStarRatingView.h文件里面替换两张星星的图片,当然还有星星个数,默认是5个:
#define kBACKGROUND_STAR @"backgroundStar"
#define kFOREGROUND_STAR @"foregroundStar"
#define kNUMBER_OF_STAR 5
然后实例化的时候只要传入一个frame就可以了,接着如果有实现用户交互的话就再实现一下代理StarRatingViewDelegate,代理里面的方法可以将分数作为参数回调回来。
到此,TQStarRatingView的内容就结束了~~~~