ios - 覆盖 UITextField getter-setter

标签 ios objective-c uitextfield getter-setter objective-c-category

我正在从事一个社交媒体类型的项目,但我面临一个严重的问题。

这个项目在 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/

相关文章:

ios - Swift ios解析json数据只获取选中的数据

ios - 从 iOS 应用程序到 Google 表单的 HTTP POST

ios - 如何为 UITextField 实现类似 NSLineBreakByTruncatingHead 的功能?

ios - 使用iOS版Google Maps API无法获取当前位置坐标

iOS:隐藏/禁用新的 iOS 底栏

ios - Objective-C : Dynamic message in info. plist

ios - 在 Sprite-Kit 中滚动 Tilemap(JSTileMap 故障)

ios - 使用 ExtAudioFileRead 循环 AAC 文件 - 错误?

ios - 在 UITableView 的自定义 Prototype Cell 中,UITextField 值替换为其他 Prototype Cell

ios - 当我再次点击它时如何清除我的 TextField 文本?