⭐️ LiteStarView
关于
如果
。
这个视图是为食谱应用而设计的。我需要一个简单的评分视图,它也可以由用户设置,并且可以在集合视图中工作。 📑
描述
A light weight star rating UI component for iOS written in Swift. 📐
设计
StarView 是一种极简设计,可以实现一些自定义。
注意:这个视图目前不是 IBDesignable
- 特性
- 可以用来显示评级及其数量。
- 如果
is UserInteractionEnabled
,则用户可以通过拖动或点击星星来提供评级,评级将显示出来。 - 在用户选择/取消选择一个全星时提供触觉反馈
将星星四舍五入到最接近的整数
修饰符/自定义
- 您可以在可查看的视图中修改以下变量:类型和默认值。
starCount:Int = 5
:视图中星星的数量ratingCount:Int = 0
:项目的评级数量rating:CGFloat = 0.0
:项目的评级roundRating:Bool = false
:在评级中使用整数fillColor:UIColor = UIColor.systemYellow
:星星的填充颜色
strokeColor:UIColor = UIColor.black
:星星轮廓(strokeColor)颜色 🎲
strokeColor:UIColor = UIColor.black
:星星轮廓(strokeColor)颜色更新视图
当 rating
或 ratingCount
发生变化时,评分星级会自动更新。另外,调用 starView.updateStar()
将强制更新。因此,在调用之前请先进行更改!
🏗 安装
手动安装
克隆repo并将 LiteStarView 框架添加到现有的xcode项目中。
注意: 您可能需要构建该框架。
CocoaPods
目前不在 CocoaPods 中
📋 设置
1. 创建 StarView
创建一个 UIView 并将其类设为 StarView。
2. 设置约束
布局此视图有多种方法,但需要设置一个高度约束以确保星级绘制正确。请参阅下面的示例
这是用来帮助计算宽度的公式。
(高度 * 星级数量) + (高度 * 2)
示例
注意: 还需要将父视图的“居中对齐安全区域”设置为父视图。
公式示例: (40 * 5) + (40 * 2) = 280
3. 视图可以设置成两种方式之一。
- 显示评分(非交互式)
- 用户提供的评分(交互式)
4. 使用 StarView
一旦连接到您的 viewController,您可以程序化地设置/获取评分和评分计数器。
import UIKit
import LiteStarView
class ViewController: UIViewController {
@IBOutlet weak var starView: StarView!
override func viewDidLoad() {
super.viewDidLoad()
// set rating and ratingCount programmable
starView.rating = 3.5
starView.ratingCount = 50
// get current rating
let currentRating = starView.rating
}
}