0

Returnキーを押してキーボードを非表示にする方法

4

4 に答える 4

4

覚えておく必要のあることがいくつかあります。開発者が設定するのを忘れている一番の部分は、textFieldのデリゲートです。

Interface Builderを使用している場合は、textFieldのデリゲートをファイルOwnerに設定する必要があることを覚えておく必要があります。

代替テキストhttp://www.thoughtblog.com/imgs/delegate.png

Interface Builderを使用していない場合は、テキストフィールドのデリゲートを自分自身に設定していることを確認してください。returnTypeも含めます。たとえば、textFieldがgameFieldと呼ばれた場合:

gameField.delegate = self;
gameField.returnType = UIReturnKeyDone;

ViewControllerのUITextFieldDelegateも実装する必要があります。

@interface YourViewController : UIViewController <UITextFieldDelegate> 

最後に、 textFieldShouldReturnメソッドを使用して、 [textFieldresignFirstResponder]を呼び出す必要があります。

   -(BOOL) textFieldShouldReturn:(UITextField*) textField {
    [textField resignFirstResponder]; 
    return YES;
}

すべてのtextFieldsはこれと同じメソッドを使用するため、この設定は1回だけで済みます。textFieldにデリゲートが設定されている限り、UITextFieldDelegateがインターフェイスに実装され、textFieldShouldReturnメソッドを追加して、セットのresignFirstResponderを呼び出します。

于 2009-07-26T18:17:42.907 に答える
2

質問にはもっと多くの情報を含める必要がありますが、これがあなたが探しているものかもしれないと思います:

まず、View Controller に UITextFieldDelegate を実装させます。

@interface MainViewController : UIViewController <UITextFieldDelegate> {

次に、このメソッドをコントローラーに追加します。

- (BOOL)textFieldShouldReturn:(UITextField *)textField {
    [textField resignFirstResponder]; 
    return YES;
}

UITextFieldDelegateのドキュメントを読んで、他に何ができるかを確認してください。

于 2009-07-24T15:18:05.820 に答える
2

キーボードは、編集可能なもの (通常は UITextField) がファーストレスポンダーになった場合にのみ表示されます。したがって、キーボードをなくすには、textField を firstResponder にならないようにする必要があります。幸いなことに、これは 1 行のコードです。

[myTextField resignFirstResponder];
于 2009-07-24T14:15:56.593 に答える
0

次の2つの方法を使用します。

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
        activeTextField = textField;   
        return YES;
  }

- (BOOL)textFieldShouldReturn:(UITextField *)textField {
        activeTextField = nil; 
        [txtPassword resignFirstResponder];
        [txtUserName resignFirstResponder];
        return YES;
  }

各テキストフィールドにデリゲートを指定していることを確認してください。そのためには、ビューに移動する必要があります。右クリック 。デリゲートを表示するように設定します。

于 2012-03-01T07:33:09.310 に答える