2

在访问不同班级的插座时,我遇到了一个特定的 iOS 问题。

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

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

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

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

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

谢谢

4

1 回答 1

3

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

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


- (BOOL) textField:(UITextField *)aTextField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
// Check the replacementString
return YES;
}

于 2012-02-14T15:29:23.320 回答