0

iPhone のダッシュボード、ホーム画面のボタンを複製しようとしています。私が達成しようとしているのは次のとおりです。

  • 画像とそのすべての UIButton プロパティを持つ単純なボタン。
  • その上に、長押しジェスチャ レコグナイザー。長押しするとボタンが揺れますが、そのまま使えます。

私はそれをすべて行うことができましたが、Appleが打ち負かすことができた次の問題に直面していますが、私は(まだ)できませんでした:

通常のタップでは、OS はそれが長押しやダブルタップなどではないことを確認するために少し待機します。十分に長く待つまで、それが特別なジェスチャではないことを確認することはできません。したがって、そのボタンをタップするたびに登録されますが、すべてが約 1.5 秒遅れます。

これはとてつもなく悪いユーザー エクスペリエンスですが、ホーム画面でアプリをタップすると、(アプリが強制終了された場合でも) 瞬時に表示されます。それでも、長押しすると、正しく登録されます。

私はしません。私はここで何を見落としていますか?

私はまさにこれを持っています:

ここに画像の説明を入力

  • 2 つの UIButton が互いにわずかに重なっている場合、アプリ アイコンと隅にある [アプリの削除] ボタンを想像してください。(青と紫)
  • これら 2 つの UIButton を正確に含む UIView。(緑)
  • その UIView の UILongPressGestureRecognizer (表示されていません)

長いジェスチャ コードは、ホーム画面での iOS の動作と同様に、ジェスチャが「開始」状態に達したときにのみ呼び出されます。プロセスのかなり早い段階です。

さまざまなプロパティと設定をいじってみましたが、うまくいきません。これを達成した人はいますか?適切な設定は何ですか?

4

1 に答える 1