RatingControl
是一个 SwiftUI “评分”控件(顾名思义)。任何东西都可以用作空图标和填充图标(实际上它们可以是任何类型的视图,不仅仅是 Image
)。
默认情况下,每个图标的框架都由空图标的大小设置,因此更改每个图标的状态不会更改控件的整体位置。 这可以使用 .ratingControlIconFrameSizingMode(_:)
修饰符来更改。
虽然可以使用诸如 .foregroundColor(_:)
和 .foregroundStyle(_:)
之类的常规修饰符来着色/样式化控件,但 .ratingControlEmptyIconColor(_:)
和 .ratingControlFilledIconColor(_:)
修饰符可用于分别着色每种类型的图标。
Int
更改为 Double
(使用 Slider
的初始化器作为通用数字的参考).mask
修饰符?.dynamic
大小调整模式:也许解决方案是创建一个实际的 ViewModifier
,其中包含一个 @State 变量,该变量读取 preferencekey 更改并计算 masking 比例和计算框架宽度?nil
,则为完整的小数值。 否则,捕捉到特定值Binding<Int>
的替代初始化器?