我想實現代碼,我可以開始插入文本在UITextView中的任何位置的光標在iphone sdk如何在uitextview中的任何光標位置插入文本?
任何想法? 預先感謝您..
我審閱此鏈接:iPhone SDK: How to create a UITextView that inserts text where you tap?
,但沒有得到它。
我想實現代碼,我可以開始插入文本在UITextView中的任何位置的光標在iphone sdk如何在uitextview中的任何光標位置插入文本?
任何想法? 預先感謝您..
我審閱此鏈接:iPhone SDK: How to create a UITextView that inserts text where you tap?
,但沒有得到它。
這是我用自定義鍵盤,似乎工作正常,可能有一個更清潔的方法,不知道。
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.
thanx它是非常有趣的,我用它刪除光標放在我的自定義鍵盤的文本中的詞:) thanx再次 – 2013-01-28 06:42:07
非常好...謝謝,丹。 – 2013-03-01 06:34:21
丹的答案是手動更改文本。 UITextView的UndoManager效果不佳。
實際上,使用UITextInput協議API(UITextView和UITextField支持)可以很容易地插入文本。
[textView replaceRange:textView.selectedTextRange withText:insertingString];
注:這是selectedTextRange在UITextInput協議,而不是的selectedRange
最簡單的方法(但它不會取代所選文本)是使用insertText:
方法:
[textView insertText:@"some text you want to insert"];
UITextView
符合UITextInput
,其本身符合UIKeyInput
。
這是Glorfindel在Swift3中的回答。它插入的文本從剪貼板中拉出。
if let textRange = myTextView.selectedTextRange {
myTextView.replace(textRange, withText:UIPasteboard.general.string!)
}
如果有人嘗試過,請回復。我也在做同樣的事情,但沒有成功,所以請幫忙。 – 2012-01-17 07:03:34