gpt4 book ai didi

ios - 动态更新 UITextView autocapitalizationType

转载 作者:可可西里 更新时间:2023-11-01 01:00:19 26 4
gpt4 key购买 nike

我有一个带有 UITextView 的空白测试应用程序,我添加了这个委托(delegate)方法:

func textViewDidChange(textView: UITextView) {
if textView.text.hasPrefix("Cap") {
textView.autocapitalizationType = .AllCharacters
} else {
textView.autocapitalizationType = .Sentences
}
}

如果用户在文本开头键入“Cap”,我希望 textView 更改为 .AllCharacters autocapitalizationType。如果他们删除该前缀,它应该变回句子。

代码被调用但未被执行,键盘也没有改变以反射(reflect)这一点。知道如何微调 textView 来更新大写吗?

最佳答案

非常有趣的问题。事实上,当键盘出现时 autocapitalizationType 不会改变,但您可以轻推它,让它重新成为第一响应者:

textView.autocapitalizationType = .AllCharacters
// slow operation
textView.resignFirstResponder()
textView.becomeFirstResponder()

问题是这个过程很慢,所以你会感觉到每个字符之间有很大的延迟,所以你应该做一次这个操作。

func textViewDidChange(textView: UITextView) {
if textView.text.hasPrefix("Cap") {
if textView.autocapitalizationType != .AllCharacters {
textView.autocapitalizationType = .AllCharacters
textView.resignFirstResponder()
textView.becomeFirstResponder()
}
} else {
textView.autocapitalizationType = .Sentences
}
}

希望对您有所帮助。

关于ios - 动态更新 UITextView autocapitalizationType,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34914797/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com