0

人が2次元上に移動したときに、アプリでその人を追跡できるようにしたいと思います。私はすでに垂直スクロールビューを持っていて、それは機能しますが、ボタンを押すと、彼が垂直に歩いているときに小さな棒の形を追跡したいのですが、これをどのように制御できますか?scrollview.contentoffsetを特定の位置に設定することを考えましたが、流動的に変更したいときに1回だけ変更します。.001秒程度ごとにcontentOffSetを更新するタイマーを作成できると思いますが、もっと良い方法があると思いました。


また、UIScrollViewのメソッドを検索しているときに、そのうちの1つはブール値であるisTrackingメソッドであり、scrollviewが何かを追跡している場合はyesを返すと想定しているので、scrollviewに機能があると想定します。あなたが物事を追跡できること。また、物事を追跡する場合は、知っておくと役立つ他のフレームワークを使用する必要があります

助けてくれてありがとう!

4

2 に答える 2

1

プロパティtrackingは、スクロールビューが現在ユーザーの動きを追跡しているかどうかを示します。だからそれは間違いなくあなたを助けません。(プロパティが示す内容の詳細については、David Hの投稿を参照してください。)

ただし、を使用setContentOffset:animated:してに設定animatedすることはできますYES。その結果、新しいコンテンツオフセットへのスムーズな移行が実現します。

妥当なコンテンツオフセットを計算する代わりに、棒人間を含む領域を指定する方が簡単な場合があります。その場合はを使用してscrollRectToVisible:animated:ください。明らかanimatedにに設定する必要がありますYES

于 2012-07-16T21:50:09.497 に答える
1

1)contentOffset = x;を使用せず、「-(void)setContentOffset:(CGPoint)contentOffsetanimated:(BOOL)animated」を使用します。このメッセージを送信する必要がある頻度を試してみてください。ただし、1秒間に10回しか送信できず、良い結果が得られると思います。

2)isTrackingは、ユーザーがscrollViewに指を置いているが、ドラッグを開始していないことを意味します。「isTracking」と「isDragging」をテストすることで、ユーザーがscrollViewをいじっているかどうかを判断できます。

于 2012-07-16T21:53:14.103 に答える