1

firstResponder我怎样才能告诉电流resign?我有UITableView一堆,TextFields我不知道哪个始终处于活动状态。我考虑过存储指向数组中所有单元格的指针并遍历它,告诉每个单元格,resignFirstResponder但我确信有一种更简单的方法。也许像[CurrentFirstResponder resignFirstResponder]什么?

我会很感激一些帮助,法比安

编辑:当用户点击完成时,我不想关闭键盘。它应该以编程方式被解雇。由于我不知道UITextField任何时候都处于活动状态,因此我正在寻找调用resignFirstResponder当前FirstResponder.

4

3 回答 3

3

您可以保留对正在使用UITextFieldDelegate 协议textFieldDidBeginEditing:进行编辑的 UITextfeild 的引用,或者您可以使用父视图执行此操作:

UIView * myParentViewView;//view containing one or more editable UI controls 
[myParentViewView endEditing:YES];
于 2011-01-31T14:41:32.030 回答
1

我希望这能解决你的问题,

将委托分配给 UItextField,

textField.delegate=self;

然后在以下方法中

    - (void)textFieldDidBeginEditing:(UITextField *)textField
    {
//This for to resign on begin editing
    [textField resignFirstResponder];
    }

 - (void)textFieldDidEndEditing:(UITextField *)textField
    {
//This for to resign on end editing
    [textField resignFirstResponder];
    }

如果您不希望 textField 可编辑,那么,

textField.editing=NO;

设置标签以区分您的文本字段

于 2011-01-31T14:37:05.260 回答
0

只需使用 UITextFieldDelegate (参考)。无论何时- (BOOL)textFieldShouldReturn:(UITextField *)textField调用, perform [textField resignFirstResponder],因为此方法总是使用当前活动的文本字段调用。如果您仍然需要区分文本字段,请尝试设置标签并将其与if(textfield.tag == self.mytextfield.tag) {...}

于 2011-01-31T14:38:13.287 回答