問題タブ [nsanimationcontext]
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.
cocoa - NSLayoutConstraint.constantはアニメーションを無視します
アプリケーションの1つに対して、自動レイアウトに適した分割ビュークラスを作成しています。そのさまざまな機能の中には、NSSplitViewと同じように、ペインを折りたたんだり、折りたたんだりすることができるというものがあります。
制約を使用しているので、必要なwidth =(現在の幅)制約をペインに配置し、アニメーション化された方法で制約の定数を0に設定することでこれを実現しています。
これは美しく機能します。残念ながら、後でペインを拡張してもうまくいきません。
タイミングコードを挿入すると、完了ハンドラーがほぼ瞬時に起動し、アニメーション化する前に制約が削除されていることがわかります。NSAnimationContextに期間を設定しても効果はありません。
私がここで間違っている可能性があることについて何か考えはありますか?
objective-c - NSSplitview とウィンドウ サイズをアニメーション化する
私が達成しようとしているのは、ユーザーがボタンを押すと、ウィンドウが拡大し、余分なスペースがパネルによって取り除かれ、 NSSplitview
スペースを埋めるために拡大することです。
ウィンドウのサイズ変更と分割ビューの成長を個別に簡単にアニメーション化できますが、2 つのアニメーションを一緒にしようとすると、必然的に一方が他方より先に発生したり、段階的に発生したりします。最初にウィンドウが部分的にサイズ変更され、次に分割ビューのサイズ変更が続き、次にウィンドウのサイズ変更が終了し、最後に分割ビューも終了します。なぜそれが起こっているのでしょうか?
私が使用するコードは次のとおりです。
cocoa - NSView アニメーターが Cocoa で動作しない理由
プロジェクトに移動したい NSView がありますが、他のオブジェクトに通常使用するアニメーションが動作しません...移動するにはどうすればよいですか? これが私のコードです:
objective-c - NSView を中心に回転
中心を中心に NSView の回転をアニメーション化しようとしていますが、回転中に左右に移動し続けます。これは何が原因ですか?
回転中のシフトアップ:
回転中のシフトダウン:
objective-c - NSAnimationContext runAnimationGroup がキャンセルまたは成功したかどうかを確認します
ビューを (表示することによって) アニメーション化した後、(アニメーションが完了したら) 通知を投稿する必要があります。ただし、アプリの設計方法では、ビューが非表示になったときに (アニメーションを介して) 別の通知が送信されます。したがって、基本的に「showView」と「hideView」メソッドがあります。それぞれ次のようにします。
問題は、バックグラウンドの別のスレッドに、「健全性チェック」を実行する定期的なタイマーがあり、ビューが必要ない場合は非表示にする必要があるかどうかを確認することです。これは積極的なアプローチですが、アプリの多くのコンポーネントがさまざまなイベントやシナリオに対応するために必要です。このため、ユーザーが「showView」をクリックしたときに「競合状態」が発生することがありますが、同時に、スレッドの1つがビューをすぐに非表示にする必要があると感じています。
両方がメイン スレッドに通知を投稿すると、アプリは SpinLock で無期限にハングします。上記のアニメーション ブロックが「キャンセル」されたかどうか (つまり、同じビューで別のアニメーション ブロックが実行されたかどうか) を把握できれば、この状況を完全に回避できます。そのような状況では、通知を投稿しないので、チェックは強制されません。
簡単に言えば、アニメーションが正常に終了した後に「completionHandler」が呼び出されたかどうか、またはアニメーションがキャンセルされたかどうかを確認できる必要があります。iOS ではこれが可能であることはわかっていますが、OS X ではこれを行う方法が見つかりません。助けてください。
ios - iOS 用の NSAnimationContext
私の質問は次のとおりです。
NSAnimationContext は iOS で動作しますか?
質問 1 の答えが「いいえ」の場合、CATransaction は適切な代替品になりますか?
cocoa - NSAnimationContext の誤動作
メインウィンドウをトリガーして高さをアニメーション化するボタンがあり、プルダウンメニューにいくつかのオプションが表示されます。ボタン(およびその兄弟)はウィンドウの2つの下隅に配置されているため、ウィンドウの下の端から一定の距離で「ロック」されて、ウィンドウと一緒にアニメーション化する必要があります。
問題:ボタンはおそらく 10 回に 1 回は適切にアニメーション化されますが、残りの時間は y 軸上でランダムにずれているように見えます。その上、2 つのボタンは異なるオフセットを取得します。アニメーション コードは同じですが、動作は同じではありません。
OSX 10.9 Mavericks に展開して実行すると、アニメーションは適切に動作します - 誤動作はありません。
次の簡単なコードを OSX < 10.9 で動作させる方法についてのアイデアはありますか?
objective-c - 複数のビューで同時に NSAnimationContext
私は2つ持っていNSViews
ます。あるビューを画面外にスライドさせ、別のビューをビューにスライドさせるという単純な必要があります。
私は遊んでいてNSAnimationContext
、うまく単純なアニメーションを実現することができましたが、両方のビューをアニメーション化することはできません。
これが私のコードです:
両方のビューを左から右に 1000 ピクセル (つまりanimViewOffset
) 移動するだけです。
コードは現在なので、アニメーションのみになりsingUpView
ます。signUpView
フレームの原点を設定する行をコメントアウトすると、 loginView
. しかし、両方を一緒にアニメーション化することは決してありません。
それらが一緒にアニメーション化されるようにするにはどうすればよいですか?
objective-c - NSAnimationContext completionHandler が機能しないのはなぜですか (時々)?
この場合、完了ブロックが実行されましたが、残念ながらウィンドウの再配置が完了するのを待ちません。代わりに、ウィンドウの編集シートをすぐに開き、それらを一緒に移動します。
最も奇妙なことは、同じソースファイルの数行上で同じタイプの補完ブロックが正常に機能することです:-O
ここで何が欠けていますか?