0

ユーザーが画面上のオブジェクトを 1 秒間指で押さえているかどうかを検出するにはどうすればよいですか?

ありがとう、

マーティン

4

2 に答える 2

1

少なくとも 1 つの状態変数とタイマーが必要です。

ターゲットエリア内にタッチダウンすると、状態変数に現在の時刻が設定され、1 秒のタイマーが開始されます。ターゲット領域外へのタッチ移動またはタッチアップ イベントでは、状態変数をクリアします。1 秒タイマーがオフになったら、状態変数を確認します。1 秒以上前の時間が残っている場合 (したがって、クリアまたは変更されていない場合)、タッチは少なくとも 1 秒間ターゲットにありました。

于 2010-10-30T16:34:46.593 に答える
1

UITouch クラスのタイムスタンプ プロパティを見てください。

タイムスタンプ タッチが発生した時刻、または最後に変更された時刻。(読み取り専用)

@property(nonatomic, readonly) NSTimeInterval タイムスタンプ 説明 このプロパティの値は、システムが起動してからの、タッチが発生したか、最後に変更されてからの時間 (秒単位) です。この属性の初期値を格納し、UITouch インスタンスの後続のタイムスタンプ値と比較して、タッチの持続時間と、スワイプされている場合は移動速度を判断できます。time-since-boot 値の定義については、NSProcessInfo クラスの systemUptime メソッドの説明を参照してください。

で使用する必要があります

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event;
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event;

ターゲット OS に応じて UIResponder または UIGestureRecognizer クラスで

于 2010-10-30T09:22:35.073 に答える