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程序员了。!