2011-08-10 10 views
1

私はいくつかのUITextFieldを持っています。私はオートコレクション/キーボードをもたらす "ダブルタップ"を無効にしたい。タップ関数を使用して、どのUITextFieldをアクティブにするかを選択しています。UITextFieldでダブルタップのキーボードポップアップをどのように無効にしますか?

+0

シングルタップでキーボードが表示されます。ダブルタップは何ですか? – memmons

+0

シングルタップはUITextFieldを選択します。ダブルタップすると、キーボードが表示されます。私はダブルタップのキーボードを無効にしません。 – TWcode

+0

デフォルトの動作では、テキストフィールドを初めてタップするときにキーボードを表示するので、ダブルタップジェスチャーを作成する必要があります。シングルタップで「選択」しません。 – memmons

答えて

0

あなたはUITextViewのtextFieldShouldBeginEditingデリゲートメソッドを使用して編集処理を開始することではないのUITextFieldを伝えることができます:メソッドの

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField { 
    if (some conditon) { 
    return NO; 
    } else { 
    return YES; 
    } 
} 

アップルのドキュメントを参照: http://developer.apple.com/library/ios/#documentation/uikit/reference/UITextFieldDelegate_Protocol/UITextFieldDelegate/UITextFieldDelegate.html

some conditionはおそらくにチェックだろうユーザーがUITextFieldをアクティブにするためにそれを選択しているかどうか、または既にアクティブであるかどうかを確認してキーボードを起動する必要があります。

UITextViewをサブクラス化して「選択済み」プロパティにし、UITextViewDelegateにすることができます。 "selected"がfalseの場合、textFieldShouldBeginEditing:でtrueに設定し、NOを返します。それ以外の場合は、YESを返します。それは私の頭の上からちょうど1つのランダムなアイデアです。

+0

これは私がUITextfieldを有効にするために使用しているものです。私はちょうど編集キーボードを無効にしたい(ダブルタップ)。コード例:tap = [[UITapGestureRecognizer alloc] initWithTarget:自己アクション:@selector(tapRecieved :)]; tex2.userInteractionEnabled = YES; [tex2 addGestureRecognizer:タップ]; [タップリリース];タップ= nil; – TWcode

+0

それは動作するようになった。助けてくれてありがとうございます – TWcode

+0

うれしいことはうまくいきました! – AlexFZ

関連する問題