0

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

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

我该如何实现UITextView呢?

我试过

  • 将 a 添加UILongPressGestureRecognizer到我的UITextView子类中,但它的操作永远不会被调用。
  • 覆盖touchesMoved:withEvent:我的UITextView子类中的方法,但是在放大镜出现后不会调用此方法。
4

1 回答 1

2

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

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

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

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

于 2013-03-18T11:43:10.713 回答