【问题标题】:Update UI when orientation is changing in SwiftUI在 SwiftUI 中更改方向时更新 UI
【发布时间】:2021-01-05 20:09:55
【问题描述】:

我已经开始学习 SwiftUI。当方向改变时,我尝试更新 UI。 我在视图中添加了@Environment(\.horizontalSizeClass) var sizeClass,然后iphone模拟器在旋转时会自动更新UI。但 iPad 模拟器在旋转时不会更新 UI。你能告诉我如何更新 iPad 的 UI 吗?

【问题讨论】:

标签: swift swiftui


【解决方案1】:

如果您查看人机界面指南中的设备尺寸类别,您会注意到 iPad 在横向和纵向模式下都具有“常规”宽度和高度。

所以当你使用 .horizo​​ntalSizeClass 时,它同时适用于 iPhone 和 iPad,只是 iPad 在旋转时不会改变 sizeClass。

https://developer.apple.com/design/human-interface-guidelines/ios/visual-design/adaptivity-and-layout/

  • 如果您使用 GeometryReader 设置帧大小,它们将在设备旋转时自动更新。
  • 在视图上设置 .frame(maxWidth:) 也非常有用,这样如果 iPad 是横向的,视图的内容就会受到限制。 715 附近的某个地方运行良好。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-22
  • 2014-01-01
  • 1970-01-01
  • 2020-11-10
  • 1970-01-01
相关资源
最近更新 更多