当前位置: 首页 > 面试题库 >

UITextField文本更改事件

卢涵畅
2023-03-14
问题内容

如何检测textField中的任何文本更改?委托方法shouldChangeCharactersInRange适用于某些东西,但不能完全满足我的需要。因为直到返回YES,否则textField文本不可用于其他观察者方法。

例如在我的代码calculateAndUpdateTextFields中没有得到更新的文本,用户已经输入了。

他们获得textChangedJava事件处理程序之类的方法是什么。

- (BOOL)textField:(UITextField *)textField 
            shouldChangeCharactersInRange:(NSRange)range 
            replacementString:(NSString *)string 
{
    if (textField.tag == kTextFieldTagSubtotal 
        || textField.tag == kTextFieldTagSubtotalDecimal
        || textField.tag == kTextFieldTagShipping
        || textField.tag == kTextFieldTagShippingDecimal) 
    {
        [self calculateAndUpdateTextFields];

    }

    return YES;
}

问题答案:

从正确的方式做uitextfield文本更改回调:

我捕获了发送到UITextField控件的字符,如下所示:

// Add a "textFieldDidChange" notification method to the text field control.

在Objective-C中:

[textField addTarget:self 
              action:@selector(textFieldDidChange:) 
    forControlEvents:UIControlEventEditingChanged];

在Swift中:

textField.addTarget(self, action: #selector(textFieldDidChange), for: .editingChanged)

然后,在该textFieldDidChange方法中,您可以检查textField的内容,并根据需要重新加载表格视图。

您可以使用它,并将 calculateAndUpdateTextFields 用作您的selector



 类似资料:
  • 问题内容: 我一直在尝试为我的文本更改事件处理机制。就我的目的而言,只要。的文本发生更改,就必须触发一个事件。我尝试使用该接口,这是我的代码。 当文本区域的文本与硬编码的文本匹配时,什么也没发生。如何为此更改事件。 可以通过实现目标吗?如果可以,那怎么办? 问题答案: 我将通过(实际上是一个PlainDocument)获得JTextArea的文档,并使用DocumentListener来侦听更改。

  • 问题内容: 我正在尝试检查文本字段何时更改,也等同于用于textView的功能- 到目前为止,我已经做到了: 哪种方法有效,但是只要在按下文本字段时就启用,我希望仅在实际键入文本时才启用它? 问题答案: 迅速 斯威夫特4.2 和 SWIFT 3和Swift 4.1 和 SWIFT 2.2 和 目标C 和textFieldDidChange方法是

  • 问题内容: 简要地说:我有两个要素。当loginField为firstResponder时,之后 登录字段中的文本跳到左上角并返回。更奇怪的是:此故障仅在第一时间重现,然后您需要重新创建以观察此行为 这是故障的视频http://tinypic.com/player.php?v=6nsemw%3E&s=8#.VgVb3cuqpHx 有没有人被这个错误困扰?有什么建议? 键盘通知处理程序 我的主视图是

  • 在我的Android项目中,我必须将TextChangedListener(TextWatcher)添加到编辑文本视图中。它有三个部分: < Li > < code > ontext changed() < Li > < code > beforeTextChanged() < Li > < code > afterTextChanged() 这三个有什么区别?我必须在键侦听器上实现一个表搜索,对

  • 我正在尝试为用Java编写的应用程序制作GUI。 我用Scene Builder制作了fxml文档,正确设置了fx: id,现在我正在尝试对表单进行简单的更改。 我的DocumentController: 我的外汇主文件: 我现在想要的一切,都是将LabelData设置为实际时间戳,但当我运行FX主文件时,什么都不会发生。有人能帮我吗? 谢谢你保罗 更新时间: 我的整个FXML文档: 我想要的一切

  • 我一直试图改变我的时间选择器的文本颜色。但是我找不到父样式的位置。我两个都试过了 和 我的是15。我的是20。我已经重建并清理了我的项目 我想我已经解决了所有类似的问题,但没有一个真正为我提供了解决方案。唯一可行的答案是使用某种库,但我不太喜欢这种解决方案。到父级的路径是否与我正在使用的路径有所不同,因为我非常确定我应该能够以某种方式访问它? 编辑 这是主题的应用方式; 请注意,这是我收到的错误(