如何判断当前firstResponder
到resign
?我有一群UITableView
和一堆TextFields
,我不知道哪个是活跃的。我想过将指针存储到数组中的所有单元格并迭代它,告诉每个单元格resignFirstResponder
,但我确信有一种更简单的方法。也许像[CurrentFirstResponder resignFirstResponder]
?
我很感激一些帮助,Fabian
编辑:我不想在用户点击完成后关闭键盘。它应该以编程方式解散。由于我不知道哪个UITextField
在任何时候有效,我正在搜索当前resignFirstResponder
上调用FirstResponder
的内容。
答案 0 :(得分:3)
您可以使用UITextFieldDelegate Protocol上的textFieldDidBeginEditing:
保留对正在进行主动编辑的UITextfeild的引用,或者您可以使用父视图执行此操作:
UIView * myParentViewView;//view containing one or more editable UI controls
[myParentViewView endEditing:YES];
答案 1 :(得分: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;
将标记设置为distingush textFields
答案 2 :(得分:0)
只需使用UITextFieldDelegate(reference)即可。每当调用- (BOOL)textFieldShouldReturn:(UITextField *)textField
时,执行[textField resignFirstResponder]
,因为始终使用当前活动的文本字段调用此方法。
如果您仍需要区分文本字段,请尝试设置标记并将其与if(textfield.tag == self.mytextfield.tag) {...}