
我正在寻找方法来了解光标在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中的当前文本选择所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)