My Appは、いくつかのパディングを使用してGeometryReaderを使用して、NavigationView内でビューフレームディメンションを設定します。
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内のコンテナビューの現在の幅と高さが必要です。
なにか提案を?
私は同じ問題に遭遇しました。 NavigationView
にあるのはこれを引き起こす理由の下にはありませんが、回避策はNavigationView
全体をGeometryReader
でラップし、GeometryProxy
をツリーの下に渡すことです。