在UIScrollView中模拟拖动结束

时间:2012-06-11 03:27:46

标签: ios uiview uiscrollview uicontrol

当用户水平滚动一定距离超出我的scrollView的contentSize时,我想“接管”并运行一些动画。问题是,即使我在发生这种情况时立即关闭用户交互,“拖动”操作仍在进行中。仅当用户释放他的触摸时才禁用交互。

有没有办法以编程方式模拟拖动结束时的修饰?最终结果应该是当我的触发器触发时,用户立即无法再操纵视图。

2 个答案:

答案 0 :(得分:3)

您可以暂时将scrollView的scrollEnabled属性设置为NO。 (与userInteractionEnabled属性不同,切换scrollEnabled会立即生效。)您可以在动画完成后再将其重新打开。

来自Apple的文档:

scrollEnabled

确定是否启用滚动的布尔值。

@property(nonatomic, getter=isScrollEnabled) BOOL scrollEnabled

讨论

如果此属性的值为YES,则启用滚动,如果为NO,则禁用滚动。默认值为YES。

禁用滚动时,滚动视图不接受触摸事件;它将它们转发给响应者链。

答案 1 :(得分:0)

我认为您应该使用手势识别器来检测用户的触摸。这应该可以解决您的问题。但是,您是否可以更清楚地发布您尝试检测触摸的代码片段?