Xcode15での「sizeThatFits」について
Xcode14までは普通に動作していたはずの「sizeThatFits」が
Xcode15からは急に適用されななくなったみたいで色々調べましたところ、
#Preview
Macroを利用している際には、「sizeThatFits」が使えないようでした。
その代わりにtrait
を付けて、.sizeThatFitsLayout
を書けば解決できるということで、実際に試してみることにしました。
sizeThatFits/sizeThatFitsLayoutについて
そもそもsizeThatFitsとsizeThatFitsLayoutというのは一体何でしょう?
基本的にsizeThatFitsというのは、ContainerをPreviewに合わせて、Viewのみのpreviewにするためのメソッドです。
レファランスから調べたところ、sizeThatFitsとsizeThatFitsLayoutは全く同じ機能であり、
sizeThatFitsLayoutの方がiOS17.0のリリースに当たって導入された機能のようでした。
コードへの適用
InfoView.swift
#Preview(traits: .sizeThatFitsLayout) {
InfoView(text: "Hello World!", imageName: "your image")
}
結果
上記のように正常に適用していることが確認できました。