相关疑难解决方法(0)

在UITextView中获取当前键入的单词

我想获取当前输入的单词UITextView.得到一个完全键入的单词的一种方式可以在这里找到的UITextView:获取最近字的UITextView类型,不过,我想这个词,当它被输入(不管它是类型化的,初,中,末UITextView) .

我想是什么定义被输入的单词是一个空白字符后跟字母数字字符,或者如果当前位置(以某种方式弄清楚range.location)是开始,UITextView则后续的任何后续应该也被视为单词.当另一个空白字符跟随时,将完成一个单词的输入.

我尝试过:

 - (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text`
Run Code Online (Sandbox Code Playgroud)

但我找到正确的范围有问题.

简而言之:我需要在a中找到子字符串UITextView,其中substring是当前键入的字.

编辑:因为问题出现了.我正在使用NSLayoutManager并绑定NSTextContainer到它,然后将其作为layoutManager传递给a NSTextStorage.

EDIT2:主要问题(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)textrange.location指标与指标不同,但总是少1.如果光标位于位置1,键入一个字母后,range.location将返回0.任何方法都可以吗?此外,text属性UITextView似乎也是1.当文本是foobar,我输出UITextView.text然后我得到了fooba.因此range.location+1返回异常Range {0, 1} out of bounds; string length 0'

编辑3:也许更容易得到我想要的结果NSTextStorage而不是UITextView

substring objective-c uitextview ios nsrange

3
推荐指数
1
解决办法
5888
查看次数

标签 统计

ios ×1

nsrange ×1

objective-c ×1

substring ×1

uitextview ×1