我有一个启用了分页的 UIScrollView,但我希望能够防止用户在某些情况下滑动到下一页或返回上一页。
例如,某人可能通过了包含十个问题(每页一个问题)的测试,但除非该人已回答当前页面上的问题,否则滚动将不起作用。
也可能是为了防止他们滑回上一页。所以基本上我不能使用方向锁定或暂时禁用用户交互,因为可以允许读者向左滑动但不能向右滑动。
我注意到一些人在玩内容偏移,但我发现这个解决方案很难看,因为用户仍然可以滑动,只是应用程序会自动重新调整内容偏移。我希望它就像视图已经到达内容的末尾或者用户交互被禁用一样。
我想我可能可以“播放”内容大小/偏移量并在每个页面上刷新它,但我不确定如何正确地做到这一点,因为我也有“链接”可以让某人从一个页面跳转到另一个页面(即当时可能超出定义的内容)。
我尝试对锁定特定方向的滑动的页面使用自定义视图,但它不起作用,因为我找不到阻止滚动视图检测到滑动而不影响页面的方法滑动应该以正常方式工作. 我看到我可以将自定义视图的 ExclusiveTouch 属性设置为 YES,并假设由于它将获取所有事件,我可以通过自定义手势识别器处理滑动,如果允许滑动则转发事件,否则忽略它们。它不起作用,ScrollView 总是捕获滑动事件。
我觉得我已经用尽了所有的可能性,我找不到任何有类似需求的人。
所以我想知道,这甚至可能吗?如果是,是否需要糟糕的黑客攻击或制作新的自定义滚动视图?
任何帮助/想法将不胜感激。