我有一个UIScrollView(不是表视图,只是一个自定义的东西),当用户采取某些动作时,我想杀死视图内的任何滚动(拖动或减速).我试过这样做:
[scrollView scrollRectToVisible:CGRectInset([scrollView bounds], 10, 10) animated:NO];
Run Code Online (Sandbox Code Playgroud)
根据这个理论,给定一个已经知道可见的矩形,滚动就会停在它的位置,但事实证明这没有任何效果 - 显然滚动视图看到给定的矩形在边界和需要没有动作.我可以让滚动停止,如果我给出一个肯定在当前可见边界之外的矩形,但是在视图的contentSize内.这似乎停止了预期的视图......但也导致它跳转到其他位置.我可能会在边缘做一些游戏以使其合理地工作,但有没有人知道一种干净的方法来停止滚动视图正在做它的事情?
谢谢.
是否可以在UITableView或UIScrollView中添加捕捉位置?我的意思是,如果我按下按钮或调用某种方法来自动滚动到某个位置,我的意思是如果我滚动滚动视图或桌面视图围绕特定点,比如说0, 30
,它将自动捕捉到它并保持那里?因此,如果我的滚动视图或表格视图滚动,然后用户放入中间0, 25
或0, 35
,它将自动"捕捉"并滚动到那里?我能想象在if语句也许把以测试位置在该领域无论是在scrollViewDidEndDragging:WillDecelerate:
或scrollViewWillBeginDecelerating:
UIScrollView的方法,但我不能确定如何在一个UITableView的情况下实现这一点.任何指导都将非常感谢.