我如何使我的UITextView自动滚动时拖动插入符号到视图的边缘



在iOS的Notes应用程序中,我在TextView上写了很长的文本,

然后我长按视图,调出放大镜,将其拖到屏幕底部(或键盘顶部,如果它被激活),TextView将自动向上滚动。

如何使用UITextView实现此功能?

我试着

  • 添加UILongPressGestureRecognizer到我的UITextView子类,但它的动作从未被调用。
  • 在我的UITextView子类中重写touchesMoved:withEvent:方法,但该方法在放大镜出现后不会被调用。

你没有实现它;这是标准行为。

当你将放大镜从UITextView的底部或顶部拖动时,放大镜滚动发生,或者当你靠近边缘时,大约10像素?(最好在模拟器中进行测试,在模拟器中可以精确控制触摸位置)。如果你的文本视图是全屏的,你可能无法拖动到视图外的位置,并且用于滚动的触摸区域可能太小了。

注意,在Notes应用程序中,要向下滚动,你可以将放大镜拖到底部的选项卡上。你可以把它拖到标题上。只要你在视图外按住触摸,它就会滚动。

所有这一切也意味着当你的视图出现时,它不能走到键盘后面。当键盘出现时,您需要调整UITextView的大小以使滚动工作

最新更新