1

これはおそらく私がこれまでに遭遇した中で最も奇妙な問題であり、どこから探し始めればよいのかさえわかりません - どんな助けでも大歓迎です。

Xcode 6.3 (および iOS 8.3 SDK) に更新した後、古い OpenGL アプリの 1 つに新しい問題が発生しました。ワイドスクリーン ディスプレイでは、x 座標のタッチが 320 に制限されます。つまり、320 を超える x 座標にタッチすると、 、タッチで320として登録されます。

EAGLView奇妙なことに、これは myのtouchesBegan 関数でのみ発生し、まったく同じコードtouchesMovedtouchesEnded持っていても、最大 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); }
4

1 に答える 1