問題タブ [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 - UIDynamicBehaviours を削除および追加せずに UIDynamicAnimator を一時停止することは可能ですか?
ビュー間の物理ベースの遷移を有効にするために、UIDynamics を使用していくつかのアニメーションを実装しています。ユーザーのタッチに応じて、これらのアニメーションをプログラムで一時停止して続行したいと思います。これまでのところ、これを行う唯一の方法は、動的アニメーターから動作を削除してから、次のように再度追加することです。
(余談です[self.dynamicAnimator updateItemUsingCurrentState: item]
が、動作を再作成する代わりに使用しましたが、ユーザーが画面に触れている間に一時停止するために、動的アニメーターからそれらを削除して再度追加する必要があります。)
私ができるようになりたいのはself.dynamicAnimator.running = NO
、一時停止しself.dynamicAnimator.running = YES
てから続行することです。これははるかにきれいで、コードが少なくて済み (現在、これを行うには 5 つの動作があります)、プロセスの潜在的なバグを回避するのに役立ちます。残念ながら、dynamicAnimator.running
プロパティは読み取り専用であるため、不可能です。
UIDynamicAnimator を一時停止して、見逃した 1 行または 2 行で続行する方法はありますか?
ios - UICollisionBehavior メモリ リーク
のバグだと思われるものに遭遇しUICollisionBehavior
ましたUIKit
。それらを配列に追加するとUIViews
、メモリリークが発生します。重力が適用されて落下するビューのグループの 10 個のアニメーションと、囲んでいるビューの境界との衝突を作成する簡単なデモ プロジェクトをまとめました。(以下のコード) Instruments の Leaks テンプレートは、実行ごとに 9 つの 64 バイトのリークを報告します。
作業中のアプリに衝突を実装できるようにしたいのですが、このリークにより使用できなくなります。collisionBehavior をプロパティに保存して再利用しようとしました。これにより、1 つの 64 バイト チャンクを除くすべてのメモリ リークが防止されますが、それが完了すると衝突は機能しなくなります。誰でもうまくいく回避策を提案できますか?
objective-c - iOS 7 で衝突が発生した後に UIGravityBehavior と UIPushBehavior を追加する
iOS 7 の新しい物理 API をいじっています。
私は簡単なゲームを作ることに決めました。指でタップするだけで画面を動き回ることができるキャラクターがいて、定期的に形が下から飛んでいき、キャラクターに当たるとゲームオーバーになります。
上記のすべてを実装しましたが、うまく機能しますが、そうでないのは、形状が衝突したときにキャラクターが落ちることだけです。
すべての衝突が機能します。私の問題は、衝突が発生したときにキャラクターを落下させようとすることです。これより前にキャラクターを落下させたくないので (形状を避けようとして浮揚しているとしましょう)、衝突が発生したときにキャラクターを重力に追加することにしました。衝突アニメーションが続くにつれて上向きに。
衝突アニメーションが発生しないようにする方法はありますか? より良い方法はありますか?
collisionBehavior:beganContactForItem:withBoundaryIdentifier:atPoint:
メソッドのコードは次のとおりです。
ios - UIAttachmentBehavior と自動レイアウト制約で UIView をドラッグする
をUIScrollView
含む自動レイアウトで IB をセットアップしていますUIImageView
。Evgenii の Github リポジトリを見て、どのように設定されているかを確認できます: https://github.com/evgenyneu/ios-imagescroll
スクロールビューは、ピンチツーズームを有効にするために使用されます。UIPanGestureRecognizer
新しい を使用してスクロールビューを移動できるようにしたいUIAttachmentBehavior
。これは自動レイアウトなしでうまく機能しますが、自動レイアウトが有効になっていると、スクロール ビューのコンテンツがちらつき、スクロール ビューが歪んでしまいます。
私の推測では、scrollView と imageViews に設定された制約が添付ファイルの動作に干渉し、contentSize
scrollView の内容とその制約に依存していると思います。
それを機能させる方法についてのアイデアをいただければ幸いです。
編集: scrollView/imageView の組み合わせの代わりに通常のビューでテストされ、同じ問題が存在します。したがってUIAttachmentBehavior
、自動レイアウトでパン目的で使用する場合は問題になるはずです。
ios - UISnapBehavior を高速化するにはどうすればよいですか?
UIDynamicItemBehavior に抵抗を追加することで、簡単にスナップを遅くすることができます。ただし、抵抗のデフォルト値は 0.0 であり、それでも私には遅すぎます。抵抗を負の値に設定しても効果はなく、0.0 と同じ速さで動いているように見えます。
UISnapBehavior を高速化するにはどうすればよいですか?
(スナップを遅くする例を次に示します):
ios - UIDynamics で使用するための画像マスクへの長方形のボタン フレームのクリッピング
画面に 3 つのボタンがあり、ストーリーボードに背景画像が設定されています。背景画像は六角形です。現在、重力をいじっています。ボタンを押すと、すべてが画面の下部に落ちます。ボタンが長方形ではなく、互いに跳ね返ったときに六角形のように反応するようにしたいと思います。
UIButtons.frame をhexagonal.png にクリップする方法はありますか?
私は無駄にグーグルを試みました。どんな助けでも大歓迎です。