这是一个奇怪的问题,但我对如何解决这个问题感到困惑--我有一个具有自定义UITableViewCells的UITableViewCells。每个UITableViewCell都有两个UITextFields,每个UITextField都链接到处理textFieldDidEndEditing事件的委托。除了在一个实例中,这是非常完美的。
问题
屏幕上也有一个“保存”按钮,当用户编辑UITextField并直接单击“保存”按钮而不单击屏幕上的其他地方时,就会出现问题。在这种情况下,saveAction方法在textFieldDidEndEditing事件之前被调用,因此用户的最后一次编辑就丢失了。
我尝试使用NSLog语句进行调试,发现虽然textFieldDidEndEditing确实在被调用,但它是在saveAction事件之后调用的。
我考虑过从textFieldDidEndEditing调用saveAction事件,但这没有意义,因为我不知道正在编辑哪个UITextField。
任何建议都是非常感谢的。
发布于 2011-06-16 17:31:25
在视图控制器中调用-textFieldDidBeginEditing:委托方法时,可以记录下活动的文本字段。
有一个赋值属性,该属性指向活动文本字段,然后在-saveAction中发送-resignFirstResponder。
标题:
@property (nonatomic, assign) UITextField * editingTextField;M档案:
-(void)textFieldDidBeginEditing:(UITextField *)textField{
self.editingTextField = textField;
}
-saveAction{
if(self.editingTextField)
[self.editingTextField resignFirstResponder];
//continue implementation
}https://stackoverflow.com/questions/6375489
复制相似问题