5

私は電卓アプリを作成していて、UIButtonを備えた独自のキーパッドを提供しています。私は削除キーを持っていますが、ユーザーがすべてを削除したい場合は、ユーザーが削除キーを何度も押し続ける必要があることを除いて、すべてが機能します。

ボタンを2秒以上押し続けると、すべてを削除する方法があるのではないかと思いました。

4

3 に答える 3

4

これを実装する最も簡単な方法は、長押しのジェスチャ認識機能を[Delete]ボタンに接続することです。

Xcodeを使用すると、InterfaceBuilderで長押しジェスチャレコグナイザーをアタッチできます。ボタンに追加し、長押しの時間を設定し、IBOutlet他のUIイベントを接続するのと同じ方法でハンドラーを接続します。

コードでそれを行いたい場合は、この回答がその方法を示しています。

于 2013-03-16T08:04:08.713 に答える
2

これを処理するには、独自のタイマー関数を使用してください

-(IBAction)buttonHit {
    //here start timer that fires for every 2 seconds and handle deletion method in that
}

-(IBAction)buttonReleased {
   //Stop timer...
}
于 2013-03-16T08:04:59.157 に答える
1

サブクラス化されたUIButtonで、" touchesBegan: withEvent:" UIResponderメソッドを監視し、それが特定の時間のしきい値を超えた場合、狂ったように(つまり、" touchesEnded: withEvent"メソッドが呼び出されるまで)削除を開始することができます。

于 2013-03-16T08:03:54.547 に答える