- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
UITextFieldDelegate
的事件序列有问题。
我有两个 UITableView
A 和 B,它们由两个 UIViewController
A 和 B 托管,它们本身由一个容器 View 托管,如下所示(图中省略了单元格):
Tableview B 在其单元格中有文本字段 (UITextField
),并实现了以下委托(delegate)函数。
func textFieldDidEndEditing(_ textField: UITextField, reason: UITextFieldDidEndEditingReason)
{
if reason == .committed
{
...save content of textfield...
}
}
func textFieldShouldReturn(_ textField: UITextField) -> Bool
{
textField.resignFirstResponder()
...save content of textfield...
return true
}
在字段中输入文本后,用户可以点击返回键或点击外部某处以保存数据。只要用户点击 View Controller B 中的某处,这就会起作用。
如果用户点击 TableView A 中的某处,则 TableView 的
tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath)
函数首先被调用,只有在那之后,文本字段委托(delegate)才会被调用。
当 tableView(_:didSelectRowAt:)
将新数据加载到 tableview B 时,这显然是一个问题。
我按照建议尝试了 textFieldShouldEndEditing
here但它仍然只在之后 didSelectRowAt
我如何接收用户在任何其他事件触发之前结束编辑字段的事件?
最佳答案
我不确定您是否能够修改它当前的默认行为。您可以尝试的一种方法是在 ViewController A 的 didSelectRowAt(:) 方法中:
将单元格选择事件通知容器 VC
让容器 VC 在 View Controller B 上调用 secondChildVC.view.endEditing() 方法,这应该在代码执行从行选择方法(在第一个 VC 中)返回之前触发文本字段上的那些事件
关于ios - UITextField - textFieldDidEndEditing 调用太迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53619604/
有没有办法在不使用textFieldDidEndEditing的情况下检测键盘上的返回键被按下。例如,如果您执行关闭键盘的 segue,也会触发 textFieldDidEndEditing。 最佳答
我正在尝试创建一个计算器,该计算器可以在 UITextField 值发生更改时计算结果。 没有提交按钮我认为textFieldDidEndEditing。除了用户输入值的 UITextField 之外
您好,我正在使用以下代码来禁用 2 个 UIButtons,直到四个 UITextField 中有数据 - (void)textFieldDidBeginEditing:(UITextField *)
我正在开发一个使用核心数据的简单应用程序。我有一个带有文本字段的详细信息屏幕,当我单击完成按钮时我想保存它。现在,已完成的操作在调用 textFieldDidEndEditing 之前完成。 (使用
在我的应用程序中,我的 UITextFields 位于键盘顶部的下方,因此我必须向上移动我的 View ,以便在我编辑时可以在键盘上看到文本字段。为此,我使用 UITextFieldDelegate
可能是一个简单的答案, 我怎样才能通过 textField.text来自具有文本字段的 UIAlertView 到 -(void)alertView:(UIAlertView *)alertView
我正在使用以下内容根据文本字段totalAmountInc更新金额VAT func textFieldDidEndEditing(textField: UITextField) { if to
在我的一个项目中,当键盘显示并按下完成按钮时,我首先调用 textFieldDidEndEditing,然后它将触发 UIKeyboardWillHideNotification 的目标函数。然而,在
美好的一天! 我有一个 UITableView 和两个单元格及其相应的 UITextField。我通过for循环创建了UITextField: - (UITextField *)createInfor
当以下文本字段收到代码第二部分中的条件时,我想要一个警报 self.circuit.rcdAtIan = [ICUtils nonNilString:self.rcdAtIan.text]; self
在我的主页中有四个文本字段。但我想在用户在 eamil 文本字段中编写电子邮件时调用方法。 注意:我只想在用户键入电子邮件文本字段时调用方法。我不想在其他文本字段上调用方法。 这是我尝试过的:: fu
我有一个多 View 进程,用户正在输入数据,并且我在整个过程中的每一步都将其保存到模型类属性中。 我使用 textFieldDidEndEditing 检查输入是否有效,如果有效,则保存输入的数据。
UITextFieldDelegate 的事件序列有问题。 我有两个 UITableView A 和 B,它们由两个 UIViewController A 和 B 托管,它们本身由一个容器 View
我有一个 UITextField,在其中输入文本时,我想从文本字段中获取 doubleValue 并执行一些计算并将它们显示在 UITableView 中。 UITextField 的委托(deleg
出于某种原因,我不明白为什么在填写文本时我的按钮无法启用。 这就是我的设置方式。 override func viewDidLoad() { super.viewDidLoad() c
在 Swift 中,我有一个 UITextField、textA 和一个 UITextField、textB。 textA 有时会被禁用,但 textB 始终启用。 textA 被禁用: textA.
关闭。这个问题需要debugging details .它目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and t
我有一个 ViewController,其中有一个用于用户输入的 TextField 和一个导航栏中的退出按钮。 通常,用户将文本输入到 textField 中,输入内容将在 textFieldDid
我试图在我的应用程序中隐藏我的 UITextField。我首先尝试使用 UIButton 来实现。 为此我做了这个: -(IBAction)hide:(id)sender { _textField.h
我有一个自定义的 UITableView,里面有 UITextFields。在 cellForRow... 中,我将 textFields 委托(delegate)给了自己。 (在我的主要 VC 类中
我是一名优秀的程序员,十分优秀!