2

我在 aUITextFields内部有一堆UIScrollView,当用户尝试向上或向下滚动时,如果初始触摸发生在 a 内部UITextField,则该文本字段将成为第一响应者(在 touch down inside 事件中)并阻止滚动。有没有办法告诉UITextField只在内部事件的修饰时开始编辑?

4

3 回答 3

1

你应该继承 UIScrollView 并尝试不同的东西覆盖touchesShouldCancelInContentView:。如果您返回 YES,那么它应该始终滚动,但您将永远无法编辑文本字段。如果当触摸在文本字段之外时返回 YES,它可能会起作用。可能需要一些技巧才能弄清楚,因为触摸对象没有发送到touchesShouldCancelInContentView. 您可能需要在其他某个点捕获触摸对象并设置一个属性以指示它已超出文本字段。

于 2013-06-12T14:09:26.543 回答
0

You can trying setting the delaysContentTouches property of the scrollview to NO.

于 2013-06-12T12:33:48.727 回答
0
scrollView.delaysContentTouches = true
于 2019-07-16T12:10:54.490 回答