我有2个UITextFields
,UITextAutocapitalizationType
设置为.sentences
。如果第一个UITextField
没有以句号或问号结尾,我想第二个UITextField
以小写字母开头。我可以以编程方式将第一个字母设置为小写,但是,我无法让用户将其覆盖为大写,我希望他们能够执行此操作。
我采取的方法是,如果第一个UITextField
没有以句号或问号结束,将第二个UITextField
的UITextAutocapitalizationType设置为.none
。一旦用户越过第二个文本字段中的第一个字符,我就将UITextAutocapitalizationType
设置回.sentences
。我遇到的问题是,当用户输入时,UITextField
似乎不知道更新其UITextAutocapitalizationType
。它一直等到我离开UITextField
并返回它。
我试图强制刷新第二个UITextfield
,但这并没有解决问题。
任何帮助,将不胜感激。
一旦用户通过第二个文本字段中的第一个字符,您需要在以下方法中以编程方式设置每个句子的第一个字符:
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
}