2011-07-08 9 views
4

ユーザーの指の後にUIViewを配置して、アプリ内でUIViewを移動させます。時々、UIViewAnimationブロックで画面上の他のものがアニメーション化されていますが、これにより指の動きが凍結されるため、アニメーション中に指を動かし続けると動きません。アニメーションがメインスレッドをブロックしないようにするにはどうすればよいですか?UIViewAnimationはユーザーのやりとりをブロックします

答えて

10

performSelector:onThread:withObject:waitUntilDone:

詳細:

0

画面上に他のものがアニメーション表示されている場合は、それもメインスレッドで行われます。また、現在の指の追跡はメインスレッドでも行われます。だから間違いなくいくつかのブロックがあります。

blocksGCDを使用してコードを最適化することができます。あなたはiOSの5のためにリンクしている場合、この問題はすべて自身で離れて行くことを[UIView animateWithDuration:delay:options:animations:completion:]

1

あなたがNSObjectののメソッドを使用することができます。 iOS 5の場合、ビューのブロックベースのアニメーションは他のビューのユーザーインタラクションをオフにしません。これはAppleが最初にやったはずのものです。

関連する問題