2

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

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

4

2 回答 2

3

您可以暂时将 scrollView 的scrollEnabled属性设置为NO. (与userInteractionEnabled属性不同,切换scrollEnabled具有即时效果。)您可以在动画完成后再次打开它。

来自 Apple 的文档:

滚动启用

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

@property(nonatomic, getter=isScrollEnabled) BOOL scrollEnabled

讨论

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

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

于 2012-06-14T16:46:16.490 回答
0

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

于 2012-06-11T05:03:10.633 回答