SwiftUIで向きが変更されたときにUIを更新する
私はSwiftUIを学び始めました。向きが変わったらUIを更新しようとしています。@Environment(\.horizontalSizeClass) var sizeClass
ビューに追加すると、iphoneシミュレーターが回転するとUIが自動的に更新されます。ただし、iPadシミュレーターは、回転してもUIを更新しません。iPadのUIを更新する方法を教えてください。
回答
nicksarno
ヒューマンインターフェイスガイドラインのデバイスサイズクラスを見ると、iPadの幅と高さが横向きモードと縦向きモードの両方で「通常」であることがわかります。
したがって、.horizontalSizeClassを使用すると、iPhoneとiPadの両方で機能します。iPadを回転させてもsizeClassが変更されないだけです。
https://developer.apple.com/design/human-interface-guidelines/ios/visual-design/adaptivity-and-layout/
- GeometryReaderでフレームサイズを設定した場合、デバイスを回転させると自動的に更新されます。
- ビューに.frame(maxWidth :)を設定するだけでも非常に便利です。これにより、iPadが横向きの場合、ビューのコンテンツが制限されます。約715がうまく機能します。