textFieldShouldReturn 和 shouldChangeCharactersInRange
textFieldShouldReturn and shouldChangeCharactersInRange
是否可以在两个不同的位置设置 textFieldShouldReturn
和 shouldChangeCharactersInRange
。
目前我在一个单独的文件中使用 shouldChangeCharactersInRange
,因为我的许多文件都使用它 - 它的功能是只有数字会出现在文本字段中。
但是我希望每个单独的文件都有自己唯一的 textFieldShouldReturn
,因为文本字段 ID 是唯一的。我知道每个文本字段只能容纳一个代表,有什么建议的方法吗?
由于这两种方法来自同一协议,因此您必须将它们放在同一文件中。但是,可以编写 shouldChangeCharactersInRange:
的实现来调用一些执行实际工作的常用方法。
例如:
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
return [someHelper textField:textField shouldChangeCharactersInRange:range replacementString:string];
}
其中 someHelper
是实现共享实现的 class。
我认为你可以子类化给它相同的 shouldChangeCharactersInRange
,但如果你现在想坚持你的解决方案,我认为你可以给文本字段一个标签,然后检查 [=11] 中的标签=] 在该文件中并给它们自己的函数
是否可以在两个不同的位置设置 textFieldShouldReturn
和 shouldChangeCharactersInRange
。
目前我在一个单独的文件中使用 shouldChangeCharactersInRange
,因为我的许多文件都使用它 - 它的功能是只有数字会出现在文本字段中。
但是我希望每个单独的文件都有自己唯一的 textFieldShouldReturn
,因为文本字段 ID 是唯一的。我知道每个文本字段只能容纳一个代表,有什么建议的方法吗?
由于这两种方法来自同一协议,因此您必须将它们放在同一文件中。但是,可以编写 shouldChangeCharactersInRange:
的实现来调用一些执行实际工作的常用方法。
例如:
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
return [someHelper textField:textField shouldChangeCharactersInRange:range replacementString:string];
}
其中 someHelper
是实现共享实现的 class。
我认为你可以子类化给它相同的 shouldChangeCharactersInRange
,但如果你现在想坚持你的解决方案,我认为你可以给文本字段一个标签,然后检查 [=11] 中的标签=] 在该文件中并给它们自己的函数