Swift iOS尝试动态更改UITextAutocapitalization类型

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Swift iOS尝试动态更改UITextAutocapitalization类型相关的知识,希望对你有一定的参考价值。

我有2个UITextFieldsUITextAutocapitalizationType设置为.sentences。如果第一个UITextField没有以句号或问号结尾,我想第二个UITextField以小写字母开头。我可以以编程方式将第一个字母设置为小写,但是,我无法让用户将其覆盖为大写,我希望他们能够执行此操作。

我采取的方法是,如果第一个UITextField没有以句号或问号结束,将第二个UITextField的UITextAutocapitalizationType设置为.none。一旦用户越过第二个文本字段中的第一个字符,我就将UITextAutocapitalizationType设置回.sentences。我遇到的问题是,当用户输入时,UITextField似乎不知道更新其UITextAutocapitalizationType。它一直等到我离开UITextField并返回它。

我试图强制刷新第二个UITextfield,但这并没有解决问题。

任何帮助,将不胜感激。

答案

一旦用户通过第二个文本字段中的第一个字符,您需要在以下方法中以编程方式设置每个句子的第一个字符:

func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {

}

以上是关于Swift iOS尝试动态更改UITextAutocapitalization类型的主要内容,如果未能解决你的问题,请参考以下文章

swift ios无法更改导航栏标题

更改键盘通知上的视图布局(Swift、iOS)

iOS Swift - 如何更改表格视图的背景颜色?

UISwitch 在值更改 IOS Swift 时崩溃

iOS Swift 如何更改或更新自定义 UITableViewCell 中的 UILabel 属性

更改自定义 UIButton 的 TitleColor (iOS 8 + swift)