gpt4 book ai didi

ios - UITextFieldDelegate 事件延迟

转载 作者:行者123 更新时间:2023-11-29 05:03:09 25 4
gpt4 key购买 nike

这是一个奇怪的问题,但我对如何解决这个问题感到困惑 - 我有一个具有自定义 UITableViewCells 的 UITableView 。每个 UITableViewCell 都有两个 UITextFields,每个 UITextField 都链接到处理 textFieldDidEndEditing 事件的委托(delegate)。除一种情况外,这完全有效。

问题

屏幕还有一个“保存”按钮,当用户编辑 UITextField 并直接单击“保存”按钮而不单击屏幕中的其他位置时,就会出现问题。在此类事件中,会在 textFieldDidEndEditing 事件之前调用 saveAction 方法,从而导致用户的最后一次编辑丢失。

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

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

非常感谢任何建议。

最佳答案

您可以记下在 View Controller 中调用 –textFieldDidBeginEditing: 委托(delegate)方法时处于事件状态的文本字段

有一个指向事件文本字段的分配属性,然后在 -saveAction 中将其发送 -resignFirstResponder。

标题:

@property (nonatomic, assign) UITextField * editingTextField;

m 文件:

-(void)textFieldDidBeginEditing:(UITextField *)textField{
self.editingTextField = textField;
}

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

//continue implementation
}

关于ios - UITextFieldDelegate 事件延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6375489/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com