2011-01-15 8 views
1

申し訳ありませんが、ここで私がしようとしていることがあります。私はUITextFieldを持っています。私はそれをタップすると、私は私の方法の一つを呼びたい。私はダブルタップ(1本の指で2回タップ)すると、テキストフィールドを編集したい(通常のUITextFieldでタップしたように)。UITextFieldのデフォルトのタッチイベントを変更してください

私はこれについてどうやって行くのか分かりません。私は、UITextFieldをサブクラス化し、送信されたときにタッチイベントをインターセプトしようとしていましたが、これを行うためにどのメソッドをオーバーライドするのか分かりません。どのメソッドをオーバーライドする必要がありますか?

また、これを行うより良い方法がある場合は、教えてください。私はすべての耳であり、どのように進むべきかわからない。

答えて

4

これは、いくつかのステップを伴うだろう:

1)ユーザがすでに(あなたは)最近、ここに何を意味するのかを決めてもらう一度最近のフィールドをタップしたかどうかを追跡しますNSBooleanプロパティを追加します。

2.)あなたのUITextFieldに割り当てられたデリゲートのtextFieldShouldBeginEditing:メソッドを実装します。ユーザーがすぐに2回タップした場合(ブール値のプロパティが真であるかどうかをチェックすることで検出可能)、YESを返します。そうでない場合は、メソッドを呼び出して、NOを返します。

+0

ここに注意してください。このメソッドは、たとえばテキストフィールドを横断するために外付けキーボードのタブを押すときのように、単にタップするよりも多くの場合トリガします。 iOS 9でテスト済みです。 –