อัปเดต UI เมื่อการวางแนวเปลี่ยนใน SwiftUI
Jan 06 2021
ฉันเริ่มเรียนรู้ SwiftUI ฉันพยายามอัปเดต UI เมื่อการวางแนวกำลังเปลี่ยนไป ฉันเพิ่ม@Environment(\.horizontalSizeClass) var sizeClass
ในมุมมองของฉันจากนั้นเครื่องจำลอง iphone จะอัปเดต UI โดยอัตโนมัติเมื่อหมุน แต่เครื่องจำลอง iPad ไม่อัปเดต UI เมื่อหมุน คุณช่วยบอกวิธีอัปเดต UI สำหรับ iPad ได้ไหม
คำตอบ
nicksarno Jan 06 2021 at 04:27
หากคุณดูที่ Device Size Classes ใน Human Interface Guidelines คุณจะสังเกตเห็นว่า iPad มีความกว้างและความสูง 'ปกติ' ทั้งในโหมดแนวนอนและแนวตั้ง
ดังนั้นเมื่อคุณใช้. แนวนอนขนาดคลาสมันทำงานได้ทั้งบน iPhone และ iPad เพียงแค่นั้น iPad จะไม่เปลี่ยน sizeClass เมื่อหมุน
https://developer.apple.com/design/human-interface-guidelines/ios/visual-design/adaptivity-and-layout/
- หากคุณกำหนดขนาดเฟรมด้วย GeometryReader จะมีการอัปเดตโดยอัตโนมัติเมื่อหมุนอุปกรณ์
- นอกจากนี้ยังมีประโยชน์มากในการตั้งค่า. frame (maxWidth :) ในมุมมองดังนั้นหาก iPad เป็นแนวนอนเนื้อหาของมุมมองจะถูก จำกัด ที่ไหนสักแห่งประมาณ 715 ที่ใช้งานได้ดี