私はUITableView
2つのセクションを持っています。最初のセクションは、2 番目のセクションのセルを作成するステッパーを使用した静的な行です。2 番目のセクションの各セルにはUITextField
、キーパッドが含まれています。UITapGestureRecognizer
キーパッドの追加の DONE ボタンを使用してキーパッドを閉じることができますが、最後のセルに対してのみ機能します。私は次の方法を試しました:
UITapGestureRecognizer
テーブルビューで
私ViewDidLoad
が入れた:
UITapGestureRecognizer *gestureRecognizer = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(hideKeyboard)];
[self.tableView addGestureRecognizer:gestureRecognizer];
その後
-(void)hideKeyboard{
[self.tableView resignFirstResponder];
}
また
-(void)hideKeyboard:(UITapGestureRecognizer*)sender{
[self.cellText endEditing:YES];
}
- タグを使用して、編集中のテキスト フィールドを認識します。
の
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath I added
[cellText addTarget:self action:@selector(myNumberValueBeginEditing:) forControlEvents:UIControlEventEditingDidBegin];
そして
-(void)myNumberValueBeginEditing:(UITextField *)sender
{
int row = [sender.superview.superview tag];
UITextField *cellTemp = (UITextField*)[(UITableViewCell *)sender.superview viewWithTag:200+row];
cellTemp.delegate = self;
[cellTemp becomeFirstResponder];
}
次に、DONEボタンでFirstResponderを辞任しようとしています
-(IBAction)doneButton:(UITextField *)sender {
NSLog(@"doneButton");
int row = [sender.superview.superview tag];
[(UITextField*)[(UITableViewCell *)sender.superview viewWithTag:200+row] resignFirstResponder];
}
キーパッドをすべてから辞任する方法がわかりませんUITextFields
。誰かが何か救済策を持っているなら、私は本当に感謝します.