UITextField在UIButton touch上辞职第一响应者

时间:2011-08-06 11:26:30

标签: ios objective-c iphone uitableview cocoa-touch

我有一个UITableView,其中一些单元格包含UITextField对象,另一些单元格包含UIButton对象。当其中一个textFields是第一响应者(键盘显示)时,我无法重新调整其第一响应者状态。当用户点击或触摸另一个单元格中的按钮时,即使我在“退出时结束”和“编辑完成结束”事件上调用[textField resignFirstResponder],textField仍然不会重新签名。单击按钮时,我也在调用[button becomeFirstResponder]。我想这与在不同单元格中的对象有关。任何想法?

编辑:

我正在辞职第一响应者:

-(IBAction)endEditing:(id)sender {

    UITextField *textField = (UITextField *)sender;
    [textField resignFirstResponder];
}

在两个UITextField事件上调用endEditing:方法:'确实在退出时结束'和'编辑完成结束'。

1 个答案:

答案 0 :(得分:0)

你在哪里调用这个[textField resignFirstResponder],这个textField在哪里声明?

正确的方法是声明一个实例变量:

UITextField *activeTextField;

一旦任何文本字段变为活动状态,请将其设置为activeTextField。然后当您按下按钮时,执行[activeTextField resignFirstResponder]; activeTextField = nil;