1

これは私がかなり前から抱えていた問題です。新しい iOS6 と自動レイアウトにより、ジェスチャ認識エンジンの「ゲーム」が機能しなくなりました。

ストーリーボードを使用してアプリを作成しました。タブの 1 つで、ユーザーが 5 ピクセル、5% サイズ、5 度以内で別の画像の上に画像を拡大縮小、回転、およびパンする必要がある小さなゲーム アプリケーションがあります。自動レイアウトで私が抱えている問題は、ゲーム画像を回転およびスケーリングすると、画像が開始位置に「ジャンプ」し、中心ではなくぎこちなく回転することです。

回転ジェスチャとスケールジェスチャを処理するための私の方法を以下に示します。

回転する

//rotation gesture recognizer response
- (void)respondToRotateGesture:(UIRotationGestureRecognizer *)gesture {
    if (gesture.state == UIGestureRecognizerStateBegan || gesture.state == UIGestureRecognizerStateChanged) {
        image.transform = CGAffineTransformRotate(gesture.view.transform, gesture.rotation);
    }
    if (gesture.state == UIGestureRecognizerStateEnded) [self didWin]; //not important for question
    gesture.rotation = 0;
}

ピンチ

//pinch gesture recognizer
- (void)respondToPinchGesture:(UIPinchGestureRecognizer *)gesture {
    if (gesture.state == UIGestureRecognizerStateBegan || gesture.state == UIGestureRecognizerStateChanged) {
            image.transform = CGAffineTransformScale(image.transform, gesture.scale, gesture.scale);
    }
    if (gesture.state == UIGestureRecognizerStateEnded) [self didWin]; //not important for question
    gesture.scale = 1;
}

最も簡単な解決策は自動レイアウトをオフにすることですが、ストーリーボードでは 1 つのコンポーネントの自動レイアウトをオフにすることはできませんが、ストーリーボード全体でオフにする必要があるため、ストーリーボードの残りの部分で問題が発生します。

誰が私に何をすべきかアドバイスできますか?これは重大な問題であり、新しい自動レイアウトの「バグ」と呼ぶ人もいます。

私はこれに問題があり、助けが必要です

誰かが提案をしたり、正しい方向に私を向けることができれば、それは大歓迎です。ありがとう!

-ヘンリー

4

1 に答える 1