Iphone 如何在uitextview中的任意光标位置插入文本?
我想实现一段代码,通过该代码,我可以开始在iphone sdk的UITextView中光标的任何位置插入文本 有什么想法吗? 先谢谢你 我推荐了这个链接:Iphone 如何在uitextview中的任意光标位置插入文本?,iphone,ios,uitextview,uitextviewdelegate,Iphone,Ios,Uitextview,Uitextviewdelegate,我想实现一段代码,通过该代码,我可以开始在iphone sdk的UITextView中光标的任何位置插入文本 有什么想法吗? 先谢谢你 我推荐了这个链接: 但我不明白。这是我使用的自定义键盘,似乎工作正常,可能有更干净的方法,不确定 NSRange range = myTextView.selectedRange; NSString * firstHalfString = [myTextView.text substringToIndex:range.location]; NSStrin
但我不明白。这是我使用的自定义键盘,似乎工作正常,可能有更干净的方法,不确定
NSRange range = myTextView.selectedRange;
NSString * firstHalfString = [myTextView.text substringToIndex:range.location];
NSString * secondHalfString = [myTextView.text substringFromIndex: range.location];
myTextView.scrollEnabled = NO; // turn off scrolling
NSString * insertingString = [NSString stringWithFormat:@"your string value here"];
myTextView.text = [NSString stringWithFormat: @"%@%@%@",
firstHalfString,
insertingString,
secondHalfString];
range.location += [insertingString length];
myTextView.selectedRange = range;
myTextView.scrollEnabled = YES; // turn scrolling back on.
丹的答案是手动更改文本。UITextView的UndoManager不能很好地使用它 实际上,使用UITextView和UITextField支持的UITExtOutput协议API插入文本非常容易
[textView replaceRange:textView.selectedTextRange withText:insertingString];
注意:它是在UITEmpute协议中选择的extrange,而不是selectedRange最简单的方法(但它不会替换所选文本)是使用以下方法:
UITextView
符合uiteInput
,而uiteInput本身符合uikeInput
以下是Glorfindel在Swift3中的答案。在此处插入的文本将从剪贴板中拉出
if let textRange = myTextView.selectedTextRange {
myTextView.replace(textRange, withText:UIPasteboard.general.string!)
}
如果有人尝试过,请回复。我也在做同样的事情,但没有取得成功,所以请帮助。thanx这是非常有趣的,我用它删除了我的自定义键盘将光标放在文本视图中的单词:)thanx againVery nice。。。谢谢你,丹。
if let textRange = myTextView.selectedTextRange {
myTextView.replace(textRange, withText:UIPasteboard.general.string!)
}