문제

그래서 오늘은 내 앱에 가로 모드를 구현합니다.OpenGL es 애플리케이션입니다.90도 회전시켰습니다.가장 먼저 눈에 띄는 것은 터치가 더 이상 작동하지 않는다는 것입니다.그 이유는 locationInView에 대한 호출이 애플리케이션이 세로 모드에 있는 것처럼 여전히 좌표를 제공하기 때문입니다.

사람들은 일반적으로 이 문제를 어떻게 처리합니까?전화기의 방향을 고려하기 위해 자체 버전의 locationInView를 작성해야 합니까?아니면 더 좋은 방법이 있나요?

도움이 되었습니까?

해결책

그것은 기본 동작입니다. iPhone이 초상화에 있는지 여부에 관계없이 화면 좌표는 변경되지 않으므로 앱에서 조정해야합니다.

다른 팁

기본적으로 두 가지 접근 방식은 각각 고유한 단점/자산을 가지고 있습니다.

  1. GLview를 뷰 컨트롤러에 연결하고 회전 이벤트를 처리하고 창 좌표를 "뷰" 좌표로 변환하도록 할 수 있습니다.이것이 가장 쉬운 방법이지만 그리기 성능이 저하될 수 있습니다.

  2. 회전을 직접 관리하세요.UIDeviceOrientationDidChangeNotification 알림에 따라 회전을 처리하기 위한 고유한 메서드를 추가해야 합니다.이 방법에는 행렬을 회전하고 터치를 변환하는 등의 GL 명령이 포함되어야 합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top