objective-c – CustomKeyBoardExtension中的当前文本选择

objective-c – CustomKeyBoardExtension中的当前文本选择,第1张

概述我正在尝试编写自定义键盘扩展. 我正在寻找方法来了解光标在CustomKeyboardExtension中的UITextField,UITextView等等的位置…但我没有看到类似的东西. 我看到SwiftKey应用程序(http://swiftkey.com)可以做到(或做类似的事情).当我更改光标时,建议文本将会改变(见下图). 问:我们如何才能获得当前的文本选择? … 更新:29/09/20 我正在尝试编写自定义键盘扩展.

我正在寻找方法来了解光标在CustomKeyboardExtension中的UITextFIEld,UITextVIEw等等的位置…但我没有看到类似的东西.

我看到SwiftKey应用程序(http://swiftkey.com)可以做到(或做类似的事情).当我更改光标时,建议文本将会改变(见下图).

问:我们如何才能获得当前的文本选择?

更新:29/09/2014

好吧,我太傻了.我们可以使用textContextBeforeinput,textdocumentAxyinput方法的textdocumentProxy属性.我以为“之前”,“之后”是关于时间的.实际上这是关于这个位置的.

对不起!我浪费你的时间:(

解决方法 创建lastWordBeforeinput方法……

-(Nsstring *) lastWordBeforeinput{    NSArray *arrayOfSplitsstring = [self.textdocumentProxy.documentContextBeforeinput componentsSeparatedByString:@" "];    int countIndex = arrayOfSplitsstring.count - 1;    NSCharacterSet *ChSet = [NSCharacterSet AlphanumericCharacterSet];    NSCharacterSet *invertedChSet = [ChSet invertedSet];    while (countIndex > 0) {        Nsstring *lastWordOfSentance = [arrayOfSplitsstring objectAtIndex:countIndex--];        if ([[lastWordOfSentance stringByTrimmingCharactersInSet:invertedChSet] rangeOfCharacterFromSet:ChSet].location != NSNotFound) {            return [lastWordOfSentance stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];        }    }    return @"";}

然后根据需要使用textwillChange / textDIDChange调用它.

- (voID)textwillChange:(ID<UITextinput>)textinput {    // The app is about to change the document's contents. Perform any preparation here.    NSLog(@"%@",[self lastWordBeforeinput]);}

希望这会帮助你.

总结

以上是内存溢出为你收集整理的objective-c – CustomKeyBoardExtension中的当前文本选择全部内容,希望文章能够帮你解决objective-c – CustomKeyBoardExtension中的当前文本选择所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/langs/1227405.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-05
下一篇2022-06-05

发表评论

登录后才能评论

评论列表(0条)

    保存