多语言展示
当前在线:1996今日阅读:27今日分享:41

iOS星级评分如何实现

使用自定义View的形式实现商城评价功能中的星级评分。
工具/原料

Xcode

方法/步骤
1

首先使用自定义view实现评分的星星视图,定义选择状态和未选择状态的imageView分别用黄色和灰色的星星表示,同时定义进度控制的属性,如下:

2

每次进行进度赋值时候进行视图重绘制,重写view的- (void)drawRect:(CGRect)rect;方法,如下:

3

将方法封装在- (UIImage *)segmentImage:(UIImage *)image percent:(CGFloat)percent fromLeft:(BOOL)left;中使用UIGraphics的形式进行,如下:

4

评分视图的触摸设置使用另外一个自定View来进行控制,主要的操作原理是根据触摸的进度来重新设置进度属性,对外初始化过程中进行相关属性配置,具体如下:

5

评分数的设置根据以下方法来进行设置,初始化设置的view之后调用分数设置方法可以设置相关的星星的数目,如下:

6

触摸事件的响应如下,触摸的进度使用block回调的形式返回到调用的地方,方便获取到评分数。

7

触摸开始,移动,结束和取消分别会调用步骤六中的方法进行重新设置和回调,如下:

8

封装之后的使用和展示效果如下:

推荐信息