問題タブ [catransition]
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.
iphone - iOS 4 での非表示の CATransition アニメーション (カメラのアイリス アニメーション)
Apple カメラ アプリからカメラのアイリス アニメーションを実現しようとしています。RedLaser や Sudoku Grab などの他の多くのアプリでも使用されているため、プライベートであっても Apple のルールで問題ないようです。
非表示の CATransition アニメーションは、たとえば次のように文書化されています: http://iphonedevwiki.net/index.php/UIViewAnimationState
ただし、非表示のものを機能させることができません。公開のものは正常に機能します。これは iOS 4 の変更でしょうか? これらの隠されたアニメーションで見つけたすべての情報は、少し古いようです.
これが私のコードです:
「animation.type」として「reveal」を使用すると、私のコードではうまく機能します。
iOS 4 でそれらをいじった人はいますか? それとも全く違う問題ですか?RedLaser は iOS 4 でこの効果を使用します (iOS 4 に最適化されたアプリではありません)。
animation - iPhone-UINavigationController-CATransactionを使用したカスタムアニメーション
UINavigationControllerのカテゴリを作成して、いくつかのカスタムアニメーションをまとめようとしています。私はこの質問に出くわしました、そしてそれは私を始めさせました。私はプッシュ機能のために次のことを思いついた:
サブビュー呼び出しを介してどのビュー/レイヤーにアクセスしているかわかりません。ですから、誰かが私にそれを理解するのを手伝ってくれるなら、それは役に立ちます。画面に表示されようとしているビューに影響を与えているようです。
しかし、私の主な質問は、上記の機能を「元に戻す」ポップを作成しようとしているということです。わかりやすくするために、AとBの2つのビューがあるとします。Aは画面に表示される最初のビューです。上記の関数は、Aを押し出さずにBに移動します。モーダルビューと同じように。ただし、以下の関数は、Bを上にスライドさせてAを所定の位置に残すのではなく、AをBの上にスライドさせて戻します。
モーダルビューを使用したくないので、カスタムアニメーションブロックを使用してビューのフレームを変更したくありません。
iphone - UINavigationController のプッシュ遷移中のフレーム レートが低い
がありUINavigationController
、ルート ビュー コントローラーから次のビュー コントローラーにプッシュします。この 2 番目のビュー コントローラーは、初期化とサブビューが大量にあるという点で、かなり「重い」ものです。
私の問題はこれです: トランジション アニメーションがひどく実行されます。基本的に、アニメーションは非常に低いフレーム レートに悩まされます (「プッシュ」アニメーションから合計で 3 ~ 4 フレームを取得します)。
トランジションを手動でアニメーション化する 2 つの方法など、さまざまな手法を試しました。いずれの場合も、アニメーションの最初の 0.4 ~ 0.7 秒は、この低フレームレートの影響を受けます。たとえば、トランジションに 5 秒かかるように設定した場合、最初の 0.5 秒ほどのパフォーマンスは低下しますが、アニメーションの残りの部分は素晴らしくスムーズです。
これにより、移行の開始時に「何か」が発生していると思われます。これにより、デバイスが非常に低いフレームレートでアニメーション化されます。
コードに多くのNSLog
ステートメントを挿入した後、2 つのことが起こりました。まず、プッシュ中に 2 番目のビューが遅延ロードされていることは明らかです。プッシュを実行する前にビュー プロパティのゲッターにアクセスすることで、これを修正しました。これにより、プッシュ アニメーションが始まる前にすべての初期化が行われることを確認できます。
次に、ほとんどの場合、私のアプリは移行中にメモリ不足の警告を受け取ります。ただし、メモリの警告が表示されない場合でも、アニメーションのパフォーマンスは依然として低く、これらのいずれも原因ではないと思います.
私の質問:UINavigationController
アニメーションの最初の 0.4 ~ 0.7 秒間だけ、プッシュ トランジション アニメーションで低いフレームレートを経験した人はいますか? それを引き起こす舞台裏で何か他のことが起こっていますか? 何かできることはありますか?
参考までに、ロードして次のビューにプッシュする現在のコードを次に示します。移行前にビューを強制的にロードして初期化するために、意図的にビュー ゲッターにアクセスしています (主にそれを問題として除外するため)。このコードはperformSelectorOnMainThread:::
、Web サービス コールバックへの応答として使用するメイン スレッドで実行されます。
他のアニメーション手法もいくつか試しましたが、すべて同じ結果になりました。
と:
cocoa - CIFilterを使用したCATransitionは、最初は機能せず、2回目は機能します
NSViewにCATransitionアニメーションを追加したい。私は次のコードを持っています:
問題は:
このコードを実行します。
[[contentView animator] addSubview:mySubview];
初めてですが、動作しません。ビューが表示されます。CATransition
デリゲートメソッドが呼び出されますが、finished
フラグはNO(false)です。ビューを削除
[mySubview removeFromSuperview];
すると、アニメーションで削除されfinished
ます。フラグ= YES(true)。手順2と3を繰り返しますが、アニメーションで機能します。ステップ2は、アニメーションが
finished
(YES)であったことを示しています。期待どおりに動作します。
どうしたの?
iphone - CATransitionsを使用してビューを切り替える際の問題
だから私はこのコードを使ってビューを切り替えようとしていました:
しかし、コードは機能しません。エラーはなく、コードは正常に実行されますが、何も実行されません。ここで何が間違っていますか?
iphone - CATransitions が機能しないのはなぜですか?
次のコードを使用して、CATransition でビューを切り替えています。
それはほとんど私が望むように機能します。本来なら上から押すのだが、なぜか挙動がおかしくなる。まず、切り替え先のビューが下から入ってきますが、何らかの理由で、切り替え元のビューが不透明度の低い上に表示されるため、両方が表示されます。ただし、入ってくるビューも、それ自体と他のビューの上に 100 ピクセルほど上に移動し、再び不透明度が低くなります。移行の中間点の直前に、すべてが正常に機能し、入ってくるビューと出ていくビューだけが表示され、本来行うべきことを実行します。しかし、中間点の少し後、切り替え元のビューの下に、切り替え先のビューが最終目的地に表示され、切り替え元のビューの不透明度が低下します。
ここで何が起こっているのですか?
ios - kCATransitionMoveIn を使用して UIView でスライドすると不具合が発生する
ユーザーがボタンを押すと、画面の下部から UIView がスライドする UINavigationController があります。
ただし、ビューの「非表示」プロパティを NO に設定した直後に、UINavigationController のビューが、アニメーションが既に終了しているかのように、1 フレームの間完全に表示されることがあります。
ビューを表示/非表示にするコードは次のとおりです。
iphone - UINavigationController カスタム アニメーション
UINavigationController で途中から展開するようなカスタム アニメーションを作成した人はいますか? (たとえば、ランチャー ビューからニュース フィードを選択したときの Facebook アプリ)
目的の次のコントローラーのビューをアニメーション化するようなトリックを見ましたが、Three20 フレームワークを使用していて、次のコントローラーのビューを取得するのは困難です。
したがって、私の唯一のオプションは、CATransition をいじることです。このコードを使用して、私が望むものに近いある種のアニメーションを得ることができました。
それは何をしますか?フェード タイプのアニメーションをアニメーション化します。私が欲しいのは、CABasicAnimation からビュー フレームをスケーリングするようなものです。
これを達成する方法を知っていますか?CATransition 内の変形アニメーションのようなもの。
iphone - CATransitionの後にViewControllerをリリースする:私はこれを正しく行っていますか?
私のアプリケーションは最初のビューをロードしています(Webサービスへのログインに使用されます)。ログインが成功すると、CATransition(基本的なkCATransitionFromRight)を実行して、2番目のビューを表示し、最初のビューを非表示にします。トランジションのデリゲートをselfに設定したので、を使用できます-(void)animationDidStop:(CATransition *)theAnimation finished:(BOOL)flag
。
そのメソッドが呼び出されたとき(遷移が終了した直後)、最初のビューはもう必要ないので解放したいと思います。[firstView release]
ただし、 (で)呼び出した場合animationDidStop:
、保持カウントは変更されていないようです。私は[loginView retainCount]
これをチェックしていましたが、常に信頼できるとは限らないことがわかっているので、疑問に思っていました。これは正しいのでしょうか。
ありがとうございました。
iphone - CAAnimationを使用したCATransitionプッシュの実装
iOSでサブクラスをkCATransitionPush
使用してどのように実装しますか?CAAnimation
UIView
アニメーションも使用できることは承知していますが、ゼロからの移行を実装できれば、CoreAnimationをよりよく理解するのに役立ちます。kCATransitionPush