IOS textFieldDidChange在其他类出口时

时间:2012-02-14 15:09:46

标签: ios uitableview uitextfield uitextfielddelegate

访问其他课程的插座时,我遇到了一个特定的iOS问题。

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

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

问题是当textfield的出口在子类(特定的tableViewCell类)中时,我在主类中使用此函数。

我创建了一个出口的方法,所以我可以在主类中访问它。但仍然是上面的代码不会触发textFieldDidChange事件。

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

日Thnx

1 个答案:

答案 0 :(得分:3)

textFieldDidChange不起作用。好吧,我遇到了很多问题。 我不知道它是否被弃用了。 无论哪种方式,只要正确委托,您就可以使用shouldChangeCharacterInRange。

但是你必须稍微修改它,因为在你实际键入内容之前触发了该方法。因此,您必须获取新值并自行添加。


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