スポンサーリンク

Xcode13でビルドしたアプリをiOS15で動かすとレイアウトが崩れる

タイトルの通りなのですが、Xcode13 でビルドしたアプリを iOS15 で動かすと、レイアウトが崩れるようになってしまいました。

厳密に言うと、Form を使ってレイアウトしていた部分が上部と下部が隠れるようになってしまいました。

こんな感じです。

コードプレビューの時点で既にずれています。

先頭に spacer を入れると上部は表示されるようになりましたが、今度は下部が隠れるようになってしまいました。

コンソールの warning としては下記のようなものが出ていました。

Detected a case where constraints ambiguously suggest a height of zero for a table view cell's content view

色々と調べたところ、どうやら FormList に変えれば良いようです。

List {
    HStack {
        Text("名前")
        TextField("名前を入力", text: $name)
            .textFieldStyle(RoundedBorderTextFieldStyle())
    }
    (略)
}.listStyle(InsetGroupedListStyle())

必要に応じて .listStyle(InsetGroupedListStyle()) も付けてあげると良さそうです。

結果的に、下記のように直りました。