触摸UIScrollView内的UITextField可防止滚动

时间:2013-06-12 12:22:34

标签: ios uiscrollview uikit uitextfield

我在UITextFields内有一堆UIScrollView,当用户尝试向上或向下滚动时,如果初始触摸发生在UITextField内,那么文本字段成为第一响应者(在内部触摸事件中)并阻止滚动。有没有办法告诉UITextField仅在内部事件中启动编辑?

3 个答案:

答案 0 :(得分:1)

您可以尝试将scrollview的delaysContentTouches属性设置为NO。

答案 1 :(得分:1)

您应该继承UIScrollView并尝试覆盖touchesShouldCancelInContentView:的不同内容。如果您返回YES,则它应始终滚动,但您将永远无法编辑文本字段。如果在触摸位于文本字段之外时返回YES,则可能会起作用。由于触摸对象未发送到touchesShouldCancelInContentView,因此可能需要一些技巧来解决这个问题。您可能需要在其他位置捕获触摸对象并设置一个属性,指示它已超出文本字段。

答案 2 :(得分:0)

scrollView.delaysContentTouches = true