Joh*_*ith 15 iphone cocoa-touch uitextview
我想偶尔在UITextView文本对象中插入文本.例如,如果用户按下"New Paragraph"按钮,我想插入一个双换行符,而不仅仅是标准的单个换行符.
我该怎么办呢?我是否必须从UITextView读取字符串,改变它并将其写回?那我怎么知道指针在哪里?
谢谢
Mar*_*don 32
由于text属性UITextView是不可变的,因此您必须创建一个新字符串并将text属性设置为它.NSString有一个实例方法(-stringByAppendingString:),用于通过将参数附加到接收器来创建新字符串:
textView.text = [textView.text stringByAppendingString:@"\n\n"];
Run Code Online (Sandbox Code Playgroud)
sud*_*udo 26
UITextview有一个insertText方法,它尊重游标位置.
- (void)insertText:(NSString *)text
Run Code Online (Sandbox Code Playgroud)
例如:
[myTextView insertText:@"\n\n"];
Run Code Online (Sandbox Code Playgroud)
这是我如何实现它,它似乎很好地工作.
- (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.
}
Run Code Online (Sandbox Code Playgroud)
对于Swift 3.0
你可以通过调用方法追加文本insertText的UITextView实例。
例:
textView.insertText("yourText")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
49925 次 |
| 最近记录: |