我想为我的 UITextView 添加一个插入标签按钮,以便用户能够在当前行的开头插入一个标签。 无论光标在行中的什么位置,都应该在行首插入制表符,之后光标必须移动到行尾。
这可能吗?
最佳答案
我对 positionFromPosition:inDirection:offset:
和 characterRangeByExtendingPosition:inDirection:
不满意。
但这对我来说很好:
UITextRange *range = [textView selectedTextRange];
CGRect rect = [textView caretRectForPosition:range.start];
UITextPosition *start = [textView closestPositionToPoint:CGPointMake(0, rect.origin.y)];
[textView setSelectedTextRange:[textView textRangeFromPosition:start toPosition:start]];
UPD:以上代码已在 iOS7 及更早版本上进行测试。并且不能再与 iOS9 一起使用。实际上,我在 iOS9 设备上运行的文本编辑应用程序存在一些错误。我会在修复我的应用后更新我的答案。
关于ios - 如何将光标移动到 UITextView 中当前行的开头?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8194712/