我正在从事一个社交媒体类型的项目,但我面临一个严重的问题。
这个项目在 iTunes 上已经有两年了,所以很多用户的数据已经在服务器数据库中了。
现在我们的客户说每个 TextFiled 的文本的第一个字母必须大写。我可以在 UItextfiled 类别中使用以下行处理新的用户输入。
self.autocapitalizationType = UITextAutocapitalizationTypeWords;
但是现有数据呢?当现有用户进行编辑时,我在文本字段中显示的数据。
我在 UItextField 文本中应用了类别以保持颜色和字体一致性,但是如何覆盖 UItextFiled setter 方法?
或者建议我任何其他方式。 因为有超过一百个文本字段,我该如何处理它? 有很多类,而不是为每个类编写代码,什么是更好的解决方案?
我已在 UItextField+CustomText 类别中编写了此代码。
- (void)setText:(NSString *)str {
//str= uppercase code
//self.text=str; //this is recursive fn call
}
每当我将任何文本分配给任何文本字段(textfield.text)时,都会调用此 setter ,但如何将修改后的 str 再次分配给该特定文本字段。
最佳答案
也许你可以使用目标来改变:
[textField addTarget:self
action:@selector(textFieldDidChange:)
forControlEvents:UIControlEventEditingChanged];
更好的将在文本字段自动大写类型中设置
self.textfield.autocapitalizationType = UITextAutocapitalizationTypeAllCharacters;
关于ios - 覆盖 UITextField getter-setter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31804271/