2012-06-28 2 views
2

기기가 책상에 앉아있을 때 가로 및 세로를 구별 할 수있는 방법이 있습니까? 즉, UIDeviceOrientationFaceUp? 사용자가 장치를 들고있는 방식에 따라 두 개의 다른 xib 파일을 전환합니다. 그러나 장치를 가로로 잡고 장치를 내려 놓으면 문제가 발생합니다. 장치는 가로 방향으로 유지되지만 세로 xib 파일을로드합니다. 내 코딩에서 UIDeviceOrientationFaceUp을 가로 방향으로 결합하면 문제는 반대가됩니다. 그런 다음 장치가 세로 방향에있을 때 가로 뷰를 표시하게됩니다.iOS 페이스 업 오리엔테이션 문제

장치가 여전히 가로 또는 세로로 표시되는지 알아낼 수있는 방법이 있습니까? 나는 프레임 너비를 검사 해 보았지만, 장치가 가로로 편하게 앉아 있더라도 768이라고 주장한다. 그리고 장치가 평평하게 될 때 나는 방향을 강제 할 수 없다. 나는 앱 스토어에서 거절 할 길이라고 들었다.

+0

중력이 그렇게 작동하지 않습니다. ;) –

답변

1

당신은 그렇게 할 수 없습니다. 가속도계는 사용자가 테이블 위에 누워있을 때 휴대 전화의 어느쪽에 앉아 있는지 알 수 없습니다. 자이로 스코프 (나침반)를 사용하여 축을 중심으로 회전을 측정 할 수 있지만 여전히 불행하게도 사용자를 알려주지 않습니다.

+1

예. 그것은 나를 위해 일종의 두통이긴하지만, 나는이 두 가지 견해를 특별히 필요로합니다. 그리고 이것은 정말로 렌치를 모든 것으로 던졌습니다. 다른 모든 것은 완벽하게 작동하지만이 경우는 실패합니다. 차별화를 돕기 위해 알아야 할 두통과 절반이 아닌 뭔가가 내장되어 있지 않다는 것을 믿는 것이 어렵다는 것을 알게되었습니다. 나는이 문제를 처음으로 만난 사람이 아닐 것이라고 확신합니다. – ascendancy05

1

한 가지 방법이 있습니다.

UIDeviceOrientation deviceOrientation = [[UIDevice currentDevice] orientation]; UIInterfaceOrientation statusBarOrientation =[UIApplication sharedApplication].statusBarOrientation; 첫 번째 장치를 사용하여 장치가 앞면이 보이는지, 두 번째 장치가 세로인지 가로인지를 확인하십시오.