Perbarui UI saat orientasi berubah di SwiftUI
Saya sudah mulai mempelajari SwiftUI. Saya mencoba memperbarui UI ketika orientasi berubah. Saya menambahkan @Environment(\.horizontalSizeClass) var sizeClass
dalam tampilan saya, dan kemudian simulator iphone memperbarui UI secara otomatis saat diputar. Tapi simulator iPad tidak mengupdate UI saat diputar. Bisakah Anda memberi tahu saya cara memperbarui UI untuk iPad?
Jawaban
Jika Anda melihat Kelas Ukuran Perangkat di Panduan Antarmuka Manusia, Anda akan melihat bahwa iPad memiliki lebar dan tinggi 'Reguler' dalam mode lanskap dan potret.
Jadi saat Anda menggunakan .horizontalSizeClass, ini berfungsi baik di iPhone dan iPad, hanya saja iPad tidak mengubah sizeClass saat diputar.
https://developer.apple.com/design/human-interface-guidelines/ios/visual-design/adaptivity-and-layout/
- Jika Anda menyetel ukuran bingkai dengan GeometryReader, mereka akan diperbarui secara otomatis saat perangkat diputar.
- Ini juga sangat berguna untuk hanya mengatur .frame (maxWidth :) pada tampilan, sehingga jika iPad dalam bentuk lanskap, konten tampilan akan dibatasi. Sekitar 715 bekerja dengan baik.