Iphone opengl es中的横向模式和位置视图

Iphone opengl es中的横向模式和位置视图,iphone,cocoa,opengl-es,landscape,Iphone,Cocoa,Opengl Es,Landscape,所以今天我为我的应用程序实现了横向模式。这是一个opengl es应用程序。我把它旋转了90度。我注意到的第一件事是触摸不再起作用。原因是对locationInView的调用仍在提供坐标,就好像应用程序处于纵向模式一样 人们通常如何处理这个问题?我是否必须编写自己版本的locationInView来考虑手机的方向?还是有更好的方法?这是默认行为。无论iPhone是纵向还是横向,屏幕坐标都不会改变,因此您需要在应用程序中对此进行调整。基本上有两种方法,每种方法都有各自的缺点/优点 您可以将GLvi

所以今天我为我的应用程序实现了横向模式。这是一个opengl es应用程序。我把它旋转了90度。我注意到的第一件事是触摸不再起作用。原因是对locationInView的调用仍在提供坐标,就好像应用程序处于纵向模式一样


人们通常如何处理这个问题?我是否必须编写自己版本的locationInView来考虑手机的方向?还是有更好的方法?

这是默认行为。无论iPhone是纵向还是横向,屏幕坐标都不会改变,因此您需要在应用程序中对此进行调整。

基本上有两种方法,每种方法都有各自的缺点/优点

  • 您可以将GLview附加到viewcontroller,让它处理旋转事件,并将窗口坐标转换为“视图”坐标。这是最简单的方法,但您的绘图性能可能会受到影响

  • 自己管理轮换。您需要添加自己的方法来处理由UIDeviceOrientationIDChangeNotification驱动的旋转。该方法应包括用于旋转矩阵、平移触摸等的GL命令