問題タブ [uikit-dynamics]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - UIDynamicAnimator の addBehavior をどこで呼び出す必要がありますか?
DropitBehavior
から継承された というクラスがありUIDynamicBehavior
ます。my には 2 つのプロパティがありますUIViewController
。
遅延初期化子は以下に定義されています。そして、アニメーションは正しく実行されます。
addBehavior
しかし、イニシャライザを呼び出すとanimator
、アニメーションはまったくありません。私が理解している限り、アニメーションは両方の方法で実行する必要があります。2番目の方法の何が問題になっていますか?
ios - UIDynamicAnimator を使用して UIView を水平方向にアニメーション化する
ドキュメントを確認しましたが、混乱していると言って恥ずかしいです。
シナリオ:
UIView
3 のコンテナのように機能する がありますUIButtons
。このコンテナーは、最初は境界{0, 0, 35, 35}
であり、内部の各ボタンは同じ座標 ( alpha
0) です。ユーザーが特定のアクションを実行すると、コンテナーの境界が に変更され{0, 0, 100, 35}
、ボタンが x-origin 5、35、および 65 にそれぞれalpha
1 でアニメーション化され、サイズ変更されたコンテナー内に広がるようになります。これをコンテナの拡張状態と呼びます。ユーザーによる同じアクションにより、元の収縮状態に戻ります。
目標:
現在、[UIView animateWithDuration:]
ブロックを使用してこれを行っていますが、 を使用して弾む効果を追加したいと考えています。これUIDynamicAnimator
により、展開された状態に切り替えると、コンテナーが跳ね返ってサイズが変更されます (少し余分にサイズが変更され、ターゲットの境界に跳ね返ります)。ボタンもバウンスします (もう少し移動すると、ターゲット境界にバウンスします)。
混乱:
UIDynamicAnimator
、UIDynamicBehavior
、UIAttachmentBehavior
、UIDynamicItem
……これらすべてが私の理解UIKitDynamic
をオーバーフローさせています。を使用する必要があると思いますがUISnapBehavior
、どうすればよいかわかりません。
ios - UIKit ダイナミクス: 丸みを帯びた形状と境界を認識する
UIKit Dynamics を使用して、さまざまな円の相互作用をシミュレートするアプリを作成しています。
次のコードでサークルを作成します。
ここで、location は円の目的の位置を表し、radius はその半径です。
次に、次のようにして、これらの円をさまざまな UIBehaviours に追加します。
itemBaviour は次のように定義されます。
私が抱えている問題は、円が正方形として動作していることです。特定の方法で攻撃すると、角運動量が増加し、速度が低下します。それらが再び衝突すると、角運動量が再び速度に戻ることがあります。これは正方形の場合は正常に見えますが、私の場合のようにビューが丸い場合、この動作は奇妙で不自然に見えます。
いくつかのデバッグ オプションをオンにして、このスクリーンショットを作成しました。
ご覧のとおり、円は正方形に見えます。
だから私の質問は、本当に円であり、UIKit Dynamics でそのように動作する UIVIew を作成するにはどうすればよいですか?
ios - UIDynamicAnimator - メイン UIWindow を参照ビューとして使用できますか?
各タブに UINavigationController スタックが含まれている UITabBarController を使用するアプリに取り組んでいます。
UIDynamicBehaviors を使用して UINavigationBar の下から UIView を上からアニメーション化する UIDynamicAnimator を作成しようとしています。これにより、UITabBarController の UITabBar と衝突して画面から押し出されます。
これを実現するには、UIDynamicAnimator の参照ビューに UITabBarController のビューを含める必要があります。
UIWindow インスタンスを UIDynamicAnimator の参照ビューとして使用しても問題ありませんか?
(このアプローチについてもフィードバックを提供してください。他の人が UITabBarController.tabBar のフレームを変更しているのを見ています - それは悪い習慣ですか?)
ios - UICollectionView 内の UIAttachmentBehavior の垂直方向の動きを制限する
左右にスクロールするときに弾むような感触を与えるために、各セルにセットを持つUICollectionView
カスタムの水平があります。動作には次のプロパティがあります。UICollectionViewFlowLayout
UIAttachmentBehavior
新しいセルがコレクション ビューに追加されると、そのセルは下部に追加され、UIAttachmentBehavior
. 当然のことながら、その位置に収まるまで少し上下に跳ねます。今まですべてが期待どおりに機能しています。
新しく追加されたセルが静止する前にコレクション ビューを左右にスクロールすると、問題が発生し始めます。は、追加されたセルが既に持っている上下の弾力性に左右の弾力性を追加します。これにより、セル内で非常に奇妙な円運動が発生します。
私の質問は、コレクション ビューのスクロール中に UIAttachmentBehavior の垂直方向の動きを止めることは可能ですか? 新しく追加されたセルが停止するまで、複数の添付ファイル動作を使用したり、コレクション ビューでスクロールを無効にしたりするなど、さまざまなアプローチを試しましたが、どれもこれを停止していないようです。
ios - UIAttachmentBehavior の長さはどのように決定されますか?
UIAttachmentView の length プロパティのドキュメントは次のとおりです。
必要に応じて、アタッチメントの作成後にアタッチメントの長さを調整するには、このプロパティを使用します。アタッチメントの初期化方法に基づいて、初期の長さが自動的に設定されます。
私の質問は最後の文に関するものです。最初の長さはどのように計算されますか?
ios - UIview による重力
UIView
の助けを借りて円を描きましたUIBezierPath
。次に、 を使用してそのビューに重力動作を追加し、 を使用UIGravityBehavior
して衝突動作を追加しましUICollisionBehavior
た。円が他のオブジェクトと衝突すると、このビューは四角にぶつかりますが、このビューを円と同じように衝突させたいと思います。どうすればいいですか?
ios - iOS の Core Animation と UIKit Dynamics の違い
私は最近一緒に働いていてUIKit Dynamics
、素晴らしいです!Core Animation
ただし、 と同様の機能も提供していることに出くわしましたUIKit Dynamics
。誰かがこれら2つを区別するのを手伝ってくれませんか. 基本的に、いつ使用するCore Animation
か、いつ使用するかを区別する必要がありますUIKit Dynamics.
ios - スクロールビューで UIDynamicAnimator を使用していますか?
多くの要素を持つ にUIDynamicAnimator
エフェクトを実装しようとし ています。scrollView
どこにもそれに関する情報があまり見つからなかったので、出発点が必要です。
だから私は私scrollView
の を持っUIViews
ています。スクロール中に「サブビュー」に任意の種類のアニメーションを作成したい。
試してみましたが、何も起こりません。
mainCellsArray
スクローラーのすべての「サブビュー」を保持する場合。
編集:私property
はdynamic
. 配列には、各クラスがUIView
サブクラスであり、すべてのスクローラーの子のコスチューム クラス ポインターが保持されます。
ios - ラインを示す iOS UIDynamics アタッチメント動作
UIDynamics アタッチメント動作を使用して 2 つの UIView をアタッチする「線」を表示するように UIDynamicBehaviors を構成する方法はありますか?