我有一个ImageView,我有一个CustomView,我想在屏幕上显示相同的大小。
public override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
progress.frame.size = circle.frame.size
print("Progress frame size w: \(progress.frame.size.width) h: \(progress.frame.size.height)
print("Circle frame size w: \(circle.frame.size.width) h: \(circle.frame.size.height)
//Progress frame size w: 300 h: 300
//Circle frame size w: 300 h: 300
然而它们在模拟器上显示的大小不同:
我尝试设置边界而不是框架。我还尝试计算从视图到圆圈的差异,并根据以下内容设置进度框架:
let widthDifference = UIScreen.main.bounds.width - circle.frame.size.width
let progressWidth = UIScreen.main.bounds.width - widthDifference
...
但没有成功。
我不知道发生了什么,我对iOS开发真的很陌生,很多东西对我来说很奇怪。
当场景包装在NavigationController中时,进度条的大小很好。当我移除NavigationController时,尺寸完全被拧紧了。
仅供参考:圆形是图像视图。进度为third-party circular progress bar
感谢您的时间!
答案 0 :(得分:1)
您的进度条确实与您的圆圈尺寸相同,但这并不意味着该横条将采用直径为300px的完整尺寸。
如果您感到好奇,请查看此line from the library,and also this line以了解如何创建半径。
您还可以尝试打印arcRadius
的值,且值必须小于150像素。