0

ボタンを押すとキーボードが下がるなど、「ファーストレスポンダを辞任する」方法が必要です。UITextfield問題は、その時点でファーストレスポンダにアクセスできないことです。だから使えない[textfield resignFirstResponder]

テキストフィールドにアクセスせずにキーボードを強制的に終了させる方法はありますか? あなたが望むなら、グローバルな辞任。

4

2 に答える 2

4

参照を保持したくない場合は、ここに別のサンプルがあります

-(IBAction)anyButtonPressed
{
   [self.view endEditing:YES];
}
于 2014-01-11T21:34:47.533 に答える
2

この方法でこれを行うことができます。ビュー コントローラーに 4 つのテキスト フィールドがあり、それらすべてが xib を介して作成されているとします。また、これらのテキスト フィールドのデリゲートを xib を介して設定し、これらのテキスト フィールドの IBOutles を作成していないとします。

ここで、UITextField の参照をグローバル変数として宣言します

- (void)textFieldDidBeginEditing:(UITextField *)textField メソッドで、textField をグローバル変数に割り当てます。

そして、どのボタンをクリックしても、このグローバル変数を辞任できます。サンプルコードはこちら

 //Declare it as a global variable in your class. 
 UITextField *ref;

- (void)textFieldDidBeginEditing:(UITextField *)textField
{
  ref=textField;
}


-(IBAction)anyButtonPressed
{
[ref resignFirstResponder];
}
于 2012-09-29T11:28:44.957 に答える