問題タブ [nsanimation]

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.

0 投票する
1 に答える
3275 参照

objective-c - 2 つの NSAnimation オブジェクトを同時に実行する方法はありますか?

NSAnimationビューを別のビューで反転する2 つのオブジェクトを作成しました。これらのアニメーションを 2 つ同時に実行したいと思います。NSViewAnimationビュー プロパティのいずれかをアニメーション化するため、は使用できません。

アニメーションの作成は次のとおりです。

2つのアニメーションをリンクしようとしましたが、何らかの理由で機能しなかった可能性があります。以下から例を挙げました: Apple 開発者サイト

NSAnimation使用するオブジェクトを構成してNSAnimationNonblockingも、アニメーションがまったく表示されません...

編集: 2 番目のアニメーションは最初のアニメーションとまったく同じで、最初のアニメーションと同じ場所に作成されます。

TransitionAnimationは のサブクラスでNSAnimation、 はsetCurrentProgress次のようになります。

これdelegateNSViewこの場合、drawRect 関数で a に時間依存CIFilterを適用しCIImageます。問題は、同期して実行され、最初のアニメーションが終了した直後に 2 番目のアニメーションが開始されることです。それらを同時に実行する方法はありますか?

0 投票する
1 に答える
215 参照

macos - Mac NSView アニメーション animationDidEnd が Retina MBP で 2 回呼び出される

最近、新しい MBP Retina でのアニメーションの表示に関連するバグが私のアプリに現れました。再現する新しい MPB はありませんが、影響を受けるユーザーは、大量のデバッグ出力を通じて問題の追跡に協力しています。私のアニメーション デリゲートで animationDidEnd が 2 回呼び出されているようです。コードはかなり長い間 10.5-10.7.4 で動作しており、これはこれまでのところ新しい MBP Retina に分離されているようです。

ビューとアニメーション デリゲートの間の関係が変更され、この可能性が妨げられた場合に備えて、ビュー自体をアニメーション デリゲートとして使用しています。また、animationDidEnd メソッドが 2 つの異なるアニメーション オブジェクトによって呼び出される可能性についてもさらに調査しています (ただし、別のアニメーションがアプリ内のどこかで実行されていることを示すものは何もありません。このデリゲートは言うまでもありません)。

誰かがアニメーション デリゲートに関連するドキュメントの更新を認識している場合は、ポインタまたはその他のアイデアをいただければ幸いです。ありがとう。

0 投票する
1 に答える
660 参照

objective-c - NSSplitview とウィンドウ サイズをアニメーション化する

私が達成しようとしているのは、ユーザーがボタンを押すと、ウィンドウが拡大し、余分なスペースがパネルによって取り除かれ、 NSSplitviewスペースを埋めるために拡大することです。

ウィンドウのサイズ変更と分割ビューの成長を個別に簡単にアニメーション化できますが、2 つのアニメーションを一緒にしようとすると、必然的に一方が他方より先に発生したり、段階的に発生したりします。最初にウィンドウが部分的にサイズ変更され、次に分割ビューのサイズ変更が続き、次にウィンドウのサイズ変更が終了し、最後に分割ビューも終了します。なぜそれが起こっているのでしょうか?

私が使用するコードは次のとおりです。

0 投票する
1 に答える
2340 参照

iphone - iPhoneのUIViewにポップオーバーアニメーションを追加する方法

ボタン追加があります。ギャラリーとカメラからの画像を追加します。

ここに画像の説明を入力してください

このUIVIewをrytコーナーから表示したいのですが、1から2、3に拡張され、バルーンのように最終的な統計4に拡張されます。4から3、2から1まで同じように非表示になります。

私はこのアニメーションを使用しましたが、これは私が望むものではありません(バルーンポップオーバー)

0 投票する
1 に答える
155 参照

ios - UITextField が firstResponder を失うと、フレームのアニメーション/変更が元に戻ります

次のコードを使用してフレーム サイズを変更し、キーボードの表示/非表示に対応します。

このコードは、キーボードの表示/非表示時にアニメーション化される他のサブビューに対して繰り返されます。

UITextField をタップすると、すべてのアニメーションが適切に表示されます。しかし、すぐに UITextView をタップすると、以前にアニメーション化されていたすべての要素 (UIToolbar、UITextView、UIWebView) が元のフレーム (位置とサイズ) に戻り、アニメーション化されなくなります。UITextField が firstResponder のときにキーボードを閉じると、要素は元のフレームに戻りますが、再びアニメーション化されます。

非常に奇妙...

人々が尋ねると思うからです:

前もって感謝します!

0 投票する
2 に答える
4917 参照

objective-c - NSView を中心に回転

中心を中心に NSView の回転をアニメーション化しようとしていますが、回転中に左右に移動し続けます。これは何が原因ですか?

回転中のシフトアップ:

ここに画像の説明を入力

回転中のシフトダウン:

ここに画像の説明を入力

0 投票する
2 に答える
1553 参照

nswindow - NSWindow の setFrame:display:animate: 他のアニメーションと同時に実行

多くの IOS アプリで見られるようなスライド アウト メニューを作成するために、ボーダーレス NSWindow を使用しています。現在、setFrame:display:animate: を 2 つの定義済み四角形と共に使用してスライド効果を作成しています。また、メインウィンドウの背景をフェードさせるアニメーションもあり、ウィンドウのアニメーションが終了したに現在実行されています。

両方のアニメーションを同時に実行したいと考えています。ただし、 setFrame:display:animate は、完了するまで他のすべてのコードをブロックしているようです。

setFrame:display:animate のこの機能をオーバーライドする方法はありますか? または、誰かが回避策を推奨できますか?

[[self animator]setFrame:display:] を実行する実用的なメソッドがありますが、setFrame:display:animate を使用することを好みます。これは、現在のコードで頻繁に使用されており、持続時間の設定が簡単だからです。

いくつかのコード:

これは私が持っているもう 1 つのアニメーションで、現在 setFrame が終了した後に実行されます (これは NSView のレイヤーで実行されることに注意してください)。