为什么手动减速滚动视图时不显示滚动指示?

时间:2011-08-15 20:26:29

标签: iphone ios uiscrollview

我有充分的理由禁用UIScrollView的默认减速行为来实现我自己的。

我的工作是:

1)当用户完成拖动时,我启动NSTimer来减速。

2)定时器定期调用一个滚动滚动视图的方法:

[self setContentOffset:CGPointMake(self.contentOffset.x, self.contentOffset.y + dy) animated:NO];

滚动视图可以按照我想要的方式减速。

但是一旦我的计时器开始减速滚动,滚动指示器就会粘贴contentView并完全向上或向下滑动,然后消失。

在手动设置滚动动画时,调用-flashScrollIndicators无助于使它们可见。

这是否也发生在其他人身上?

1 个答案:

答案 0 :(得分:0)

您是否在主(GUI)线程上运行计时器?如果是这样,它可能会锁定gui直到计时器到期。尝试关闭新线程以运行计时器,然后使用InvokeOnMainThread实现回调方法,将滚动视图更新到所需位置。