我正在尝试使用SwiftUI开发一个星星视图。我最多有5颗星,棘手的是我需要填充4.7颗星。所以最后一颗星应该只填充其前景色的70%。
下面是我到目前为止完成的代码
第一个
如何可以填补只有70%的星星视图。我不能使用。覆盖,因为我需要支持iOS 14。
Sample view
我正在尝试使用SwiftUI开发一个星星视图。我最多有5颗星,棘手的是我需要填充4.7颗星。所以最后一颗星应该只填充其前景色的70%。
下面是我到目前为止完成的代码
第一个
如何可以填补只有70%的星星视图。我不能使用。覆盖,因为我需要支持iOS 14。
Sample view
1条答案
按热度按时间fquxozlt1#
您可以使用
.mask()
修改器,它将使用给定的视图创建视图的遮罩。以下是您可以实现的单个星星:以下是
fillValue
设置为0.7时的结果:然后,您可以将它们堆叠到
HStack
中,并进行快速计算,以了解最后一颗星星的填充值,从而使您的五星评级组件。确保使用
.mask()
而不是.mask { }
,因为最后一个需要使用iOS 15.0。