2

UIPushBehavior に関する Apple のドキュメントを見ていますが、瞬時モードで混乱します。加速度の式はForce = Mass * Accelerationであることは知っています。ビューの質量は width*height*density(1) であると仮定します。ドキュメントでは、プッシュの大きさを次のように説明しています。

デフォルトの大きさは nil で、力がないことと同じです。密度値が 1.0 である 100 ポイント x 100 ポイント ビューに適用される、マグニチュード 1.0 の連続力ベクトルは、角度または pushDirection プロパティによって示される方向に 100 ポイント/秒² のビュー加速をもたらします。

これは、一定の加速を提供する連続的な押しの点で理にかなっています。瞬間的なプッシュについては何も言いません。マグニチュード 1 の瞬間的なプッシュが 100x100 ビューに与える速度をどのように理解できますか?

4

2 に答える 2

4

編集:@martinの方が良い答えがあるようです。これをチェックしてください。まだチェックする時間がありません。

瞬間押し( )の場合は加速しませんUIPushBehaviorModeInstantaneous。その後、遊ぶことはできませんmagnitude(影響はありません)。pushDirection代わりに、ベクトル値で遊ぶことができます。すなわち:

pushBehavior.pushDirection = CGVectorMake(100, 100);

またUIDynamicItemBehavior、移動するオブジェクトの動作に直接作用する を追加してresistance、 、friction、 ...を追加することもできます。

UIDynamicItemBehavior *resistanceBehavior = [[UIDynamicItemBehavior alloc] initWithItems:@[view]];
resistanceBehavior.resistance = 1.0;
[self.animator addBehavior:resistanceBehavior];
于 2015-07-31T18:19:36.543 に答える