始终输入(强制)小写或大写-iOS Swift [英] Typing always (force) lowercase or uppercase - ios swift

查看:185
本文介绍了始终输入(强制)小写或大写-iOS Swift的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

对于某些使用 swift 语言的文本字段,如何强制始终输入小写或大写字母?

解决方案

您应该在if block中的return false,因为您已经更新了文本字段.

func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
  if textField.isEqual(textFieldBodrum) {
     textFieldBodrum.text = (textField.text as NSString).stringByReplacingCharactersInRange(range, withString: string.lowercaseString)
     return false
  } else if textField.isEqual(textFieldYalikavak) {
                textFieldYalikavak.text = (textField.text as NSString).stringByReplacingCharactersInRange(range, withString: string.uppercaseString)
    return false
  }
   return true
}

如果您不想影响其他文本字段,则应return trueshouldChangeCharactersInRange function的结尾.

https://gist.github.com/fatihyildizhan/ac5f476aebd306b0580a1fa069f153a3

How to force to type always lowercase or uppercase for some textfields in swift language?

解决方案

You should return false in if block because you already updated the textfield.

func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
  if textField.isEqual(textFieldBodrum) {
     textFieldBodrum.text = (textField.text as NSString).stringByReplacingCharactersInRange(range, withString: string.lowercaseString)
     return false
  } else if textField.isEqual(textFieldYalikavak) {
                textFieldYalikavak.text = (textField.text as NSString).stringByReplacingCharactersInRange(range, withString: string.uppercaseString)
    return false
  }
   return true
}

If you don't want to affect other textfields you should return true end of the shouldChangeCharactersInRange function.

https://gist.github.com/fatihyildizhan/ac5f476aebd306b0580a1fa069f153a3

这篇关于始终输入(强制)小写或大写-iOS Swift的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆