SwiftUI에서 방향이 변경 될 때 UI 업데이트

Jan 06 2021

저는 SwiftUI를 배우기 시작했습니다. 방향이 바뀌면 UI를 업데이트하려고합니다. @Environment(\.horizontalSizeClass) var sizeClass내보기에 추가 한 다음 iPhone 시뮬레이터가 회전하면 UI를 자동으로 업데이트합니다. 그러나 iPad 시뮬레이터는 회전 할 때 UI를 업데이트하지 않습니다. iPad 용 UI 업데이트 방법을 알려주시겠습니까?

답변

nicksarno Jan 06 2021 at 04:27

휴먼 인터페이스 지침의 장치 크기 클래스를 살펴보면 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가 잘 작동합니다.