我的应用程序使用带有某些填充的GeometryReader来在NavigationView中设置View框架尺寸。
从iOS 14开始,我收到以下错误消息:
无效的框架尺寸(负数或非负数)
这是一些示例代码进行测试:
import SwiftUI
struct ContentView: View {
let padding:CGFloat = 16.0
var body: some View {
NavigationView {
GeometryReader { p in
Text("Hello, world!")
.frame(width: p.size.width - padding)
.padding()
}
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
删除NavigationView可解决此问题,但我需要NavigationView内的容器View的当前宽度和高度。有什么建议吗?
最佳答案
我认为这可能是一个静态分析问题,因为.frame(width: p.size.width - padding)
可能会导致负值。尝试:
.frame(width: abs(p.size.width - padding))
关于swiftui - iOS 14无效的框架尺寸(负数或非有限数),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64051332/