我想偶尔向UITextView text对象中插入文本。例如,如果用户按下“新段落”按钮,我想插入一个双换行符,而不仅仅是标准的单换行符。
我该怎么做呢?我是否必须从UITextView中读取字符串,对其进行修改,然后再写回?那我怎么知道指针在哪里呢?
谢谢
发布于 2010-05-08 09:42:44
由于UITextView的text属性是不可变的,因此您必须创建一个新字符串并将其设置为text属性。NSString有一个实例方法(-stringByAppendingString:),用于通过将参数附加到接收器来创建新字符串:
textView.text = [textView.text stringByAppendingString:@"\n\n"];发布于 2014-05-27 11:49:38
UITextview有一个insertText方法,它考虑光标的位置。
- (void)insertText:(NSString *)text例如:
[myTextView insertText:@"\n\n"];发布于 2010-10-09 04:45:15
以下是我是如何实现它的,它似乎工作得很好。
- (void) insertString: (NSString *) insertingString intoTextView: (UITextView *) textView
{
NSRange range = textView.selectedRange;
NSString * firstHalfString = [textView.text substringToIndex:range.location];
NSString * secondHalfString = [textView.text substringFromIndex: range.location];
textView.scrollEnabled = NO; // turn off scrolling or you'll get dizzy ... I promise
textView.text = [NSString stringWithFormat: @"%@%@%@",
firstHalfString,
insertingString,
secondHalfString];
range.location += [insertingString length];
textView.selectedRange = range;
textView.scrollEnabled = YES; // turn scrolling back on.
}https://stackoverflow.com/questions/2792589
复制相似问题