タイトルの通りなのですが、Xcode13 でビルドしたアプリを iOS15 で動かすと、レイアウトが崩れるようになってしまいました。
厳密に言うと、Form
を使ってレイアウトしていた部分が上部と下部が隠れるようになってしまいました。
こんな感じです。

コードプレビューの時点で既にずれています。
先頭に spacer
を入れると上部は表示されるようになりましたが、今度は下部が隠れるようになってしまいました。
コンソールの warning としては下記のようなものが出ていました。
Detected a case where constraints ambiguously suggest a height of zero for a table view cell's content view
色々と調べたところ、どうやら Form
を List
に変えれば良いようです。
List {
HStack {
Text("名前")
TextField("名前を入力", text: $name)
.textFieldStyle(RoundedBorderTextFieldStyle())
}
(略)
}.listStyle(InsetGroupedListStyle())
必要に応じて .listStyle(InsetGroupedListStyle())
も付けてあげると良さそうです。
結果的に、下記のように直りました。
