如何绕过进度视图的角落(高度增加)
目标:
问题:增加进度条的高度会破坏角半径。 拐角处不会圆滑。
增加高度
如果您搜索如何增加UIProgressView的高度,则可能会遇到答案:
progressBar.transform = progressBar.transform.scaledBy(x:1,y:8)
很简单。
拐弯处
如果您搜索如何绕过进度条的角落,则可能会遇到此Stack Overflow帖子。
它告诉您设置拐角半径,然后裁剪到边界:(子层是这样,因此内部栏也具有圆角。)
progressBar.layer.cornerRadius = 8
progressBar.clipsToBounds = true
progressBar.layer.sublayers![1] .cornerRadius = 8
progressBar.subviews [1] .clipsToBounds = true
问题在于将它们放在一起会导致:
显然这不是我们想要的。
解决方案
无需使用.transform来增加高度,而是需要在进度条上使用高度约束。
这将增加高度,.cornerRadius将按预期方式工作。
TL; DR
使用高度约束来增加进度栏的大小。
然后,您可以使用.cornerRadius和.clipsToBounds圆角化。