2017-12-23 6 views
0

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") 
    } 
} 

모든 것이 잘 작동하지만 그것이 내가 얻을 테이블에 평평하면 모든 것이 초상화 표시되는 경우에도 "방향은 가로은"및 장치 자체가 회전되지 않습니다. 이에 대해 어떤 조치를 취할 수 있습니까?

// 편집 :이 테스트는 버튼 동작 내에서도 실패합니다.

+0

'viewDidAppear'은이 테스트를 수행하기에 가장 좋은 장소가 아닙니다. 'override func viewDidLayoutSubviews() {super.viewDidLayoutSubviews() ...}'에서이 테스트를 수행 할 때 동일한 결과를 얻나요? – slickdaddy

+0

viewDidLayoutSubviews에서 가져 오지는 않지만 button-click-event에 넣으면 들어갑니다. – LarsGvB

+0

위대한, 그럼 문제가 해결. – slickdaddy

답변

1

세로 및 가로 이외의 다른 방향이 있습니다. 당신은 초상화를 확인하고 그 밖의 모든 것들이 풍경이라고 가정합니다. 그렇지 않습니다. 이 경우 실제 방향은 "위로 향하게"됩니다.

+0

감사합니다. 내일 시험 할 것입니다. – LarsGvB

+0

그 오른쪽 속성은 "isFlat"입니다. – LarsGvB

관련 문제