首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么InsertText从UITextInput打破键盘建议?

为什么InsertText从UITextInput打破键盘建议?
EN

Stack Overflow用户
提问于 2017-06-06 08:49:51
回答 1查看 131关注 0票数 0

因此,最近我们的键盘扩展出现了问题,在相应的应用程序中显示了错误的建议。我们发现上下文返回的文本(super.textDocumentProxy.documentContextBeforeInput)都是错误的,并且由于它是在苹果组件中构建的,所以文本插入一定会出错。我们有以下插入文本的实现:

代码语言:javascript
复制
    if (replaceRange.length > 0) {
        [self.textView.textStorage replaceCharactersInRange:replaceRange withString:selectedWord];
        [textView setSelectedRange:NSMakeRange(newLocation, 0)];  //Place cursor after inserted word
    } else {
        [self.textView insertText:selectedWord];
    }

会返回这样的东西:

那里。。。

而真正的文本应该是:

它就在那儿。那只是个小小的考验。对一切的考验。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-06 08:49:51

这个问题是与insertText一起发现的,显然它将正确地插入文本,但是键盘上下文将无法读取插入的文本。现在,修复方法只是对两个插入使用replaceCharactersInRange (意思是no / use子句):

代码语言:javascript
复制
[self.textView.textStorage replaceCharactersInRange:replaceRange withString:selectedWord];
        [textView setSelectedRange:NSMakeRange(newLocation, 0)];  //Place cursor after inserted word

这解决了这个问题,并使我们得出结论,insertText并不像预期的那样工作。请注意,只有在文本字段中使用建议时,这才是一个问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44385462

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档