0

とにかく、いつものように、私のアプリはiOS5でかなりうまく機能しています。

その後、iOS6に新しいマップアプリが登場しましたが、想定どおりに機能しなくなりました。(ここにロールアイズアイコンを挿入)

次のユーザーインタラクションを持つMapViewがあります。

  1. ユーザーはピンチすることでズームイン/ズームアウトできます。
  2. ユーザーはダブルタップしてピンをドロップできます。

これはiOS6には当てはまりません、No.2はもう機能しません。新しいMapViewは、ダブルタップを直接検出しなくなったようです。(IBで)ズームを無効にすると、機能します。

では、どうすればこれを機能させることができますか?それとも、操作を「ダブルタップ」から「ロングタップ」に変更したほうがいいのではないでしょうか。

ズームを有効にしながらそれを機能させるための提案や方法をいただければ幸いです。

ありがとうyall。

4

1 に答える 1

0

なんてこった。

誰も答えないので、自分で答えます。私がしたのは単純なハックです。

  1. 同じビューコントローラにtouchesBeganデリゲートを実装します。
  2. そこで、シングルタッチを検出し、シングルタッチが検出された場合は、MapkitViewズームを無効にします。したがって、MapKitViewに実装されたTapGestureRecognizerが応答します。この場合、ダブルタップは必要に応じて応答します。
  3. また、2回のタッチが検出されたら(画面上で2本の指)、MapkitViewのズームを有効に戻します。

これはかなりうまくいきます。

これがiOS6マップアプリで同じ問題に直面している他の人々に役立つことを願っています。驚いたことに、これはGoogleマップ(以前のiOS6)でも問題なく機能します。

ありがとう。

于 2012-12-08T20:30:16.713 に答える