Iphone 限制UITextView中的光标移动

Iphone 限制UITextView中的光标移动,iphone,ios,uitextview,Iphone,Ios,Uitextview,我有一个自定义(子类)UITextView,其中继承了标准UITextView的所有属性 用户可以写入、删除、剪切、复制、粘贴等。我想做的是将光标移动限制在文本视图中的特定位置,这样,用户可以将光标位置(textView.selectedRange.location)更改到某一点,因为超出该点的文本应该是不可由用户编辑的。通过覆盖textViewDidChangeSelection方法,我成功地处理了单点击事件。但在长按时(当放大镜出现时),光标仍会移动到所需点以外的文本 有没有办法在放大镜出现

我有一个自定义(子类)
UITextView
,其中继承了标准
UITextView
的所有属性

用户可以写入、删除、剪切、复制、粘贴等。我想做的是将光标移动限制在文本视图中的特定位置,这样,用户可以将光标位置(
textView.selectedRange.location
)更改到某一点,因为超出该点的文本应该是不可由用户编辑的。通过覆盖
textViewDidChangeSelection
方法,我成功地处理了单点击事件。但在长按时(当放大镜出现时),光标仍会移动到所需点以外的文本

有没有办法在放大镜出现后限制光标移动,使其保持在所需的子范围内?

最终解决了这个问题

- (CGRect) caretRectForPosition:(UITextPosition *)position{

if (self.selectedRange.location > desiredLength)
    self.selectedRange = NSMakeRange(desiredLength, self.selectedRange.length);

return [super caretRectForPosition:position];
}

每次移动光标时都会调用此函数,无论在
UITextView

中发生了什么,您都必须深入了解您是对的<代码>输出协议是……神奇的。:)我很高兴你采纳了我的意见,现在你不再是n00b程序员了。!