首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UITextFieldDelegate事件的延迟

UITextFieldDelegate事件的延迟
EN

Stack Overflow用户
提问于 2011-06-16 16:41:39
回答 1查看 435关注 0票数 0

这是一个奇怪的问题,但我对如何解决这个问题感到困惑--我有一个具有自定义UITableViewCells的UITableViewCells。每个UITableViewCell都有两个UITextFields,每个UITextField都链接到处理textFieldDidEndEditing事件的委托。除了在一个实例中,这是非常完美的。

问题

屏幕上也有一个“保存”按钮,当用户编辑UITextField并直接单击“保存”按钮而不单击屏幕上的其他地方时,就会出现问题。在这种情况下,saveAction方法在textFieldDidEndEditing事件之前被调用,因此用户的最后一次编辑就丢失了。

我尝试使用NSLog语句进行调试,发现虽然textFieldDidEndEditing确实在被调用,但它是在saveAction事件之后调用的。

我考虑过从textFieldDidEndEditing调用saveAction事件,但这没有意义,因为我不知道正在编辑哪个UITextField

任何建议都是非常感谢的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-06-16 17:31:25

在视图控制器中调用-textFieldDidBeginEditing:委托方法时,可以记录下活动的文本字段。

有一个赋值属性,该属性指向活动文本字段,然后在-saveAction中发送-resignFirstResponder。

标题:

代码语言:javascript
复制
@property (nonatomic, assign) UITextField * editingTextField;

M档案:

代码语言:javascript
复制
-(void)textFieldDidBeginEditing:(UITextField *)textField{
self.editingTextField = textField;
}

-saveAction{
if(self.editingTextField)
    [self.editingTextField resignFirstResponder];

 //continue implementation
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6375489

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档