OGeek|极客世界-中国程序员成长平台

标题: IOS textFieldDidChange 在其他类中的导出时 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 11:35
标题: IOS textFieldDidChange 在其他类中的导出时

在访问不同类(class)的 socket 时,我遇到了一个特定的 iOS 问题。

在我的项目中,我有一个带有自定义 tableViewCells 的 UItableView,它是我使用界面生成器创建的。这些单元格上有 UItextfields,我需要知道某个文本字段的值何时更改。 (所以我可以添加一个带有文本字段的新空单元格,就像在您的地址簿中一样)我遇到了以下功能

[UITextfield addTarget:self actionselector(textFieldDidChange forControlEvents:UIControlEventEditingChanged];

问题是当文本字段的导出在子类(具体的tableViewCell类)时,我在主类中使用了这个函数。

我创建了一个 socket 方法,以便我可以在主类中访问它。但是还是上面的代码没有触发 textFieldDidChange 事件。

希望有人可以帮助我解决这个问题。或者给我一个不同的解决方案来实现我的目标(在将第一个字符添加到当前 UITextfield 时创建一个新的空文本字段)。

谢谢



Best Answer-推荐答案


textFieldDidChange 不起作用。好吧,我遇到了很多问题。 我不知道它是否已被弃用或什么。 无论哪种方式,只要委派正确,您都可以使用 shouldChangeCharacterInRange 几乎相同的方式。

但是您必须对其进行一些修改,因为该方法是在您实际输入内容之前触发的。所以你必须自己获取新值并添加它。


- (BOOL) textFieldUITextField *)aTextField shouldChangeCharactersInRangeNSRange)range replacementStringNSString *)string {
// Check the replacementString
return YES;
}

关于IOS textFieldDidChange 在其他类中的导出时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9279283/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://sqlite.in/) Powered by Discuz! X3.4