首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UITextView在文本视图文本中插入文本

UITextView在文本视图文本中插入文本
EN

Stack Overflow用户
提问于 2010-05-08 09:33:20
回答 6查看 53.5K关注 0票数 15

我想偶尔向UITextView text对象中插入文本。例如,如果用户按下“新段落”按钮,我想插入一个双换行符,而不仅仅是标准的单换行符。

我该怎么做呢?我是否必须从UITextView中读取字符串,对其进行修改,然后再写回?那我怎么知道指针在哪里呢?

谢谢

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2010-05-08 09:42:44

由于UITextViewtext属性是不可变的,因此您必须创建一个新字符串并将其设置为text属性。NSString有一个实例方法(-stringByAppendingString:),用于通过将参数附加到接收器来创建新字符串:

代码语言:javascript
复制
textView.text = [textView.text stringByAppendingString:@"\n\n"];
票数 32
EN

Stack Overflow用户

发布于 2014-05-27 11:49:38

UITextview有一个insertText方法,它考虑光标的位置。

代码语言:javascript
复制
- (void)insertText:(NSString *)text

例如:

代码语言:javascript
复制
[myTextView insertText:@"\n\n"];
票数 29
EN

Stack Overflow用户

发布于 2010-10-09 04:45:15

以下是我是如何实现它的,它似乎工作得很好。

代码语言:javascript
复制
- (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.  

}
票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2792589

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档