星星评分控件TQStarRatingView揭秘!(二)

作者: wMellon | 来源:发表于2016-05-04 21:35 被阅读158次

    上一篇给大家介绍了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的内容就结束了~~~~

    相关文章

      网友评论

        本文标题:星星评分控件TQStarRatingView揭秘!(二)

        本文链接:https://www.haomeiwen.com/subject/ildrrttx.html