長押しジェスチャーと継続的な更新用に構成されたステッパーを使用してビューを設定しようとしました。長押しでは、ステッパーの連続機能が発生しません。今のところ、長押しを無効にしています。私はそれを必要としないと思います。しかし、将来の参考のために、どうすれば両方を共存させることができますか?
明確にするために、これを試したときの画面の設定方法を次に示します。
- アプリはシンプルなView Controllerでセットアップされました。
- サブビューがこのビューに追加されました (コントローラーである可能性がありますが、UIView にしました)。
- このサブビューにいくつかのラベルとステッパーが追加されました。
- ステッパーは、コンセントとアクションとして配線されました。
- IB のメイン ビューに longpress レコグナイザーが追加されました。
- 完全を期すために、タップ ジェスチャも IB のメイン ビューに追加されました。
期待どおりにメインビュー機能をタップします。ステッパーのタップは期待どおりに機能します。メイン ビューを長押しすると、期待どおりに機能します。ステッパーの長押しはしません。
サブビューのフレームをチェックし、タッチ位置がその長方形内にある場合は動作しないように、ロングプレスによって呼び出されるコードを変更しましたが、違いはありませんでした。その状況で長押しを失敗させようとはしませんでしたが、次はそれを試してみようと思います。編集:OK、そうではないかもしれません。そのための API はないようです。ただし、このクラッジがあり、私は試しません。
添付されているのはプロファイラーのスクリーン ショットで、呼び出しツリーが逆になっているため、各項目が何によって呼び出されているかがわかります。
darkStepped:
ステッパーによって呼び出される IBAction です。ステッパーがジェスチャ レコグナイザーによってトリガーされた場合、コール ツリーにジェスチャ レコグナイザーが表示されるとは思いませんか?