UIDevice.orientation 변수에 버그가있는 것으로 생각됩니다. 내 손에 기기 (아이폰 5)을 유지하는 경우잘못된 장치 방향이 반환되었습니다.
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(true)
if UIDevice.current.orientation.isPortrait{
print("Orientation is Portrait")
}
else{
print("Orientation is Landscape")
}
}
모든 것이 잘 작동하지만 그것이 내가 얻을 테이블에 평평하면 모든 것이 초상화 표시되는 경우에도 "방향은 가로은"및 장치 자체가 회전되지 않습니다. 이에 대해 어떤 조치를 취할 수 있습니까?
// 편집 :이 테스트는 버튼 동작 내에서도 실패합니다.
'viewDidAppear'은이 테스트를 수행하기에 가장 좋은 장소가 아닙니다. 'override func viewDidLayoutSubviews() {super.viewDidLayoutSubviews() ...}'에서이 테스트를 수행 할 때 동일한 결과를 얻나요? – slickdaddy
viewDidLayoutSubviews에서 가져 오지는 않지만 button-click-event에 넣으면 들어갑니다. – LarsGvB
위대한, 그럼 문제가 해결. – slickdaddy