これはおそらく私がこれまでに遭遇した中で最も奇妙な問題であり、どこから探し始めればよいのかさえわかりません - どんな助けでも大歓迎です。
Xcode 6.3 (および iOS 8.3 SDK) に更新した後、古い OpenGL アプリの 1 つに新しい問題が発生しました。ワイドスクリーン ディスプレイでは、x 座標のタッチが 320 に制限されます。つまり、320 を超える x 座標にタッチすると、 、タッチで320として登録されます。
EAGLView
奇妙なことに、これは myのtouchesBegan 関数でのみ発生し、まったく同じコードtouchesMoved
をtouchesEnded
持っていても、最大 568 まで検出できます。
誰がこれを引き起こしているのか知っていますか? 3 つの機能すべてで使用されるタッチ コードは次のとおりです。
- (void)touchesBegan:(NSSet*)touches withEvent:(UIEvent*)event {
UITouch *touch = [[event touchesForView:self] anyObject];
CGPoint _location;
_location = [touch locationInView:self];
// Flip the y location ready to check it against OpenGL coordinates
float temp = _location.x;
_location.x = _location.y;
_location.y = temp;
NSLog(@"Touched at (%f,%f)", _location.x,_location.y); }