iOS星星評價, 支持半星, 小數(shù), 自定義星星樣式, 星星個數(shù)

引言:

星星評價和選擇是電商平臺項目一些付費功能的用戶反饋的常用功能之一, 下面我們來介紹一個強大的星星評價組件ZZStarView(包含在ZZTools中, Github傳送門).

效果展示
星星評價.gif
功能簡介

1.支持星星數(shù)量自定義, 不局限于5個10個這種固定模式, 支持點擊手勢和拖動手勢,.
2.支持任意分值, 也就是說你不必選擇1分,3分,5.5分, 8.5分, 完全可以顯示5.68分這種分值, 星星的"高亮部分"自動根據(jù)分值顯示.
3.支持自定義星星圖片, 只需要傳入選中和未選中兩種樣式, "部分高亮"自動處理.
4.支持設置最低分, 支持分階(如用戶操作結(jié)果為3.4分, 如分階為1, 則最終分為3分, 如分階為0.5 則最終分為3.5).
5.匹配第三方屏幕適配組件, 想放到哪里, 就放到哪.
6.支持cocoapods集成, 請使用: pod 'ZZTools'

使用方法:

//1.第一行星星的使用, 具體請查看點擊Github傳送門查看demo, 另外還有垂直, 水平, 浮動瀑布流功能哦.

    self.starView = [[ZZStarView alloc] initWithImage:[UIImage imageNamed:@"star"] selectImage:[UIImage imageNamed:@"didStar"] starWidth:20 starHeight:20 starMargin:5 starCount:5 callBack:^(CGFloat userGrade, CGFloat finalGrade) {
        NSLog(@"用戶實際選擇分 === %.2f, 最終分 === %.2f", userGrade, finalGrade);
    }];
    self.starView.sublevel = 0.5;//默認值, 可以不寫, 用戶可選分值范圍是0.5的倍數(shù).(建議在設置分值之前確定此值)
    self.starView.grade = 1.5;//設置分值, 可以不寫, 默認顯示0分.
    self.starView.miniGrade = 0;//默認值, 可以不寫 ,用戶可以設置的最低分值.
    [self.view addSubview:self.starView];
    self.starView.frame = CGRectMake(50, 150, self.starView.bounds.size.width, self.starView.bounds.size.height);

2.ZZStarView頭文件功能簡介:

/**用戶修改了分值的回調(diào)(傳入后, 用戶也將可以修改分值, 可以通過userInteractionEnabledv關閉)*/
@property (nonatomic ,   copy) ZZStarViewCallBack   callBack;

/**分階, 默認為0.5, 即為最終分永遠是0.5的倍數(shù), 如果為1則永遠為1的倍數(shù)(即為整數(shù)), 取值在0.01~1.0之間, 若需自定義, 建議在設置grade(分值)之前確定此值*/
@property (nonatomic , assign) CGFloat              sublevel;

/**當前分值, 每個星一分, 支持小數(shù)點, 進度自適應*/
@property (nonatomic , assign) CGFloat              grade;

/**最低分值, 用戶無法設置低于此值的分支, 默認為0.5*/
@property (nonatomic , assign) CGFloat              miniGrade;

/**
 * image:           未選中狀態(tài)的圖片
 * selectImage:     選中狀態(tài)的圖片
 * starWidth:       星星的寬度
 * starHeight:      星星的高度
 * starMargin:      每兩個星星之間的間距
 * starCount:       需要幾個星星
 * callBack:        如果傳入nil, 則用戶不可以修改分值
 * 注:               此view寬高自適應, 設置frame時, 只需考慮q起點xy坐標.
 */
- (instancetype)initWithImage:(UIImage *)image selectImage:(UIImage *)selectImage starWidth:(CGFloat)starWidth starHeight:(CGFloat)starHeight starMargin:(CGFloat)starMargin starCount:(int)starCount callBack:(nullable ZZStarViewCallBack)callBack;

關于我們:

好用的話, 記得留下你的小星星哦.
歡迎吐槽, qq郵箱: 1156858877@qq.com

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 翻譯自“Collection View Programming Guide for iOS” 0 關于iOS集合視...
    lakerszhy閱讀 4,071評論 1 22
  • 8月的第一周匆匆而過,在天使班1.0畢業(yè)后2.0開始前,基本處于放假的狀態(tài),49天的好習慣消耗殆盡,從簡單的復盤開...
    神仙洋洋閱讀 175評論 0 0
  • 4.1.7 始終處于被拍攝對象眼睛的高度 不管你是設計還是裁剪照片,請仔細觀察那些照片上的物體,并且假設它們長著一...
    Mu_Xin閱讀 342評論 0 0
  • 好希望多在家停留一些日子,北方的家天天陽光明媚,氣溫也一天天溫暖起來,和自己差不多的伙伴,能天天聚在一起,插花,聊...
    在聽Yellow閱讀 363評論 2 9
  • 我的寫作總結(jié)又拖延到周末了。我現(xiàn)在無法評判自己的寫作水平是否提高,我只想問問自己:“今日的打卡目標可以完成嗎?” ...
    pennyli8765閱讀 415評論 0 0

友情鏈接更多精彩內(nèi)容