1

私は現在、その場でフローチャートを作成する1つの特定の機能を備えたiPhone用のiOSアプリケーションを作成しています。作成されるフローチャートは、1つの巨大なスクロール可能なビューです。フローチャートの各情報ノードには、ビューを次の情報ノードに自動的に移動するボタンが含まれています。ユーザーはいつでもピンチジェスチャを使用して現在の情報ノードをズームアウトし、フローチャート全体を見ることができます。

私の問題はこれです:ユーザーが情報ノードのボタンの1つを指でタップしてこのピンチモーションを開始すると、このジェスチャが優先され、現在のピンチジェスチャがズームアウトするのではなく、次のノードが表示されますノード。

私はStackOverflowを探していて、これを修正するためにいくつかのことを試みましたが、まだ何も機能していないようです。誰かが同様の問題を抱えていて、彼らが問題を克服することができたかどうか疑問に思いましたか?

4

1 に答える 1

1

@Tillのアドバイスを使用して、私の問題をもう少し調べて、私は自分のためにうまくいったことをしました。他の誰かが同様の問題や要望を持っている場合に備えて、ここでそれを共有したいと思いました。

セミボタンとして機能するUIViewを作成することができました。これらのビューのそれぞれについて、UITapGestureRecognizersを改良し、送信者の状態がStateEndedであるかどうかを確認するメソッドをターゲットにしました。

-(void)handleButtonTap:(UITapGestureRecognizer *)sender
{
  if(sender.state == UIGestureRecognizerStateEnded)
    // Go on and do the code here
}

ただし、元のiOSボタンの外観を維持したいので、さらに一歩進めました。作成したUIButtonごとに、ターゲットをこれらのボタンに関連付けず、代わりにボタンごとにUIViewを作成しました。これらのUIViewは完全に空白で、背景色は「クリア」でした。このようにして、ボタンを使用できるようになりましたが、それでも必要な機能を利用できます。

これが同様の問題を抱えている他の人に役立つことを願っています。アドバイスをくれた@Tillに改めて感謝します。

于 2013-03-19T14:15:02.317 に答える