0

我希望我的应用程序能够在他二维向上移动时跟踪一个人。我已经有一个垂直滚动视图,它可以工作,但是当我按下一个按钮时,我希望它在他垂直行走时跟踪一个小人物,我该如何控制它?我想将 scrollview.contentoffset 设置为某个位置,但是当我希望它流畅地更改它时,它只会更改一次。我想我可以制作一个计时器,每隔 0.001 秒左右更新一次 contentOffSet,但我认为可能有更好的方法。


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

感谢您的任何帮助!

4

2 回答 2

1

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

但是,您可以使用setContentOffset:animated:并设置animatedYES. 这会导致平滑过渡到新的内容偏移量。

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

于 2012-07-16T21:50:09.497 回答
1

1) 不要使用 contentOffset = x;,使用“- (void)setContentOffset:(CGPoint)contentOffset animated:(BOOL)animated”。试验一下您需要多久发送一次此消息,但我猜您每秒最多可以发送 10 次并获得不错的结果。

2) isTracking 表示用户将手指放在滚动视图上但尚未开始拖动它。通过测试“isTracking”和“isDragging”,您可以确定用户是否在摆弄您的滚动视图。

于 2012-07-16T21:53:14.103 回答