gpt4 book ai didi

ios - 如何从 iOS 中的自定义键盘将键值推送到 UITextView

转载 作者:行者123 更新时间:2023-11-29 13:50:39 26 4
gpt4 key购买 nike

我正在为 UITextView 构建一个虚拟键盘。一切正常,我可以显示键盘和移除键盘以及显示击键。我正在使用“stringByReplacingCharactersInRange: withString”方法将新击键放入 TextView 中。这是可行的,但由于它每次都替换字符串,入口点会转到字符串的末尾。这一切都是有道理的,但不是很有用。我可以通过检查我的代码来解决这个问题,但可能会有更好的方法......

所以我的问题是这样的;有没有办法直接将新键推送到 UITextView 而无需手动修改 UITextView 的文本属性的字符串?手册指出我必须自己管理目标/ Action ,但我想知道我是否错过了要调用的 Action 。看来 Apple 默认键盘必须有一种巧妙的方式来将击键击入对象,而无需明显的检查次数,而我必须进行大量检查才能使打字流畅。

任何帮助将不胜感激。谢谢,罗布

最佳答案

嗯,我没有收到任何回复。所以我想出了一种方法来做到这一点,它既合理又简单。这是跟踪所选范围的问题。因此,当我想退格时,我会使用这种技术。

NSRange currentRange = self.myTextView.selectedRange;
if (currentRange.length == 0) {
currentRange.location--;
currentRange.length++;
}
self.myTextView.text = [self.myTextView.text stringByReplacingCharactersInRange:currentRange withString:[NSString string]];
currentRange.length = 0;
self.myTextView.selectedRange = currentRange;

如果我需要输入一个字符,这是可行的。

NSRange currentRange = self.myTextView.selectedRange;
self.myTextView.text = [self.myTextView.text stringByReplacingCharactersInRange:currentRange withString:someCharacter];
currentRange.location++;
currentRange.length = 0;
self.myTextView.selectedRange = currentRange;

如果有人有更好的方法,我想听听。

谢谢,
罗布

关于ios - 如何从 iOS 中的自定义键盘将键值推送到 UITextView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4788937/

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