在位置Objective-C处插入字符串

时间:2012-06-30 16:37:50

标签: iphone objective-c nsstring

我正在制作一个应用程序,其中包含“热键”,当您点按热键时,它应该在您键入的位置插入一个字符。 我正在使用UITextView进行编辑。

enter image description here

我想要做的是在蓝色光标后插入右侧的文字 这可能吗?

2 个答案:

答案 0 :(得分:3)

您希望使用insertText: UITextView方法,该方法在UIKeyInput协议(UITextInput的超级协议的实现中声明, UITextView实现。)

答案 1 :(得分:0)

您可以使用

获取光标的位置
int position = txtView.selectedRange.location;

然后你需要从文本视图中获取字符串并插入自己的字符串

NSMutableString *str = [txtView.text mutableCopy];
[str insertString:@"YourString" atIndex:position];
txtView.text = str;

这可能会滚动文本视图并丢失当前光标,如果你不想丢失它,你需要继承UITextView并在drawRect中做一些工作