ios - 如何将光标移动到 UITextView 中当前行的开头?

标签 ios iphone uitextview cursor-position text-cursor

我想为我的 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/

相关文章:

ios 8 : When clicked inside UITextview, 键盘没有弹出,但在 ios 7 中运行良好

android - Fabric 和 Ionic 集成

ios - 在为其框架设置动画时禁用向 mapView 添加注释

iphone - 在 iPhone 中获取 Facebook/Twitter 好友的 Foursquare 位置。

iphone - 在 iOS 7 下运行 iOS 6 应用程序时,为什么阴影无法正确显示在我的 View 上?

ios - 我在聊天气泡中显示了一个UIMenuController,它隐藏了键盘

ios - 使用 NSAttributedString 时 UITextView 文本大小会自动调整大小

ios - Objective-C:如何制作自定义水平 ScrollView

ios - iOS的同步框架提供程序

iphone - 将带有 NSNotificationCenter 的对象传递给其他 View