如何让UIScrollView跟踪一些东西?

时间:2012-07-16 21:39:20

标签: objective-c ios xcode uiscrollview

我希望我的应用能够在他向上移动2维时追踪他。我已经有了一个垂直滚动视图,它可以正常工作,但当我按下一个按钮时,我希望它在垂直行走时跟踪一个小棒图,我该如何控制它?我想把scrollview.contentoffset设置到某个位置,但它只是改变它一次,当我希望它流畅地改变它。我想我可以制作一个计时器来更新contentOffSet,就像.001秒或者其他东西一样,但我认为可能有更好的方法。


另外,当我在搜索UIScrollView的方法时,其中一个是isTracking方法,这是一个布尔值,我假设如果scrollview正在跟踪某些东西它会返回yes,所以假设我有一个特征在scrollview中,以便您可以跟踪事物。此外,如果要跟踪事情,你必须使用其他一些有助于了解的框架

感谢任何帮助!

2 个答案:

答案 0 :(得分:1)

属性tracking告知滚动视图当前是否正在跟踪用户的移动。所以这绝对不会帮助你。 (请参阅David H的帖子,以便更好地解释该属性所指示的内容。)

但是,您可以使用setContentOffset:animated:并将animated设置为YES。这样可以平稳过渡到新的内容偏移。

您可能会发现指定包含简笔画的区域更容易,而不是计算合理的内容偏移量。如果是这样,请使用scrollRectToVisible:animated:。显然,animated应设置为YES

答案 1 :(得分:1)

1)不要使用contentOffset = x ;,使用“ - (void)setContentOffset:(CGPoint)contentOffset animated:(BOOL)animated”。尝试发送此消息的频率,但我猜你可以每秒不超过10次,并获得不错的结果。

2)isTracking意味着用户将手指放在scrollView上但尚未开始拖动它。通过测试“isTracking”和“isDragging”,您可以确定用户是否正在摆弄您的scrollView。