1

私のプロジェクトでは、ホーム ボタンが押された時点から UIView アニメーションが再開されないという問題があります。

手順は次のとおりです (議論のための簡略化された例)。

1) アプリ デリゲート h&m ファイルと単一のビュー コントローラーを含む単純なプロジェクトがあります。

2)xibには、alpha = 0で設定されたUIViewがあります

3)View Controllerのviewdidloadで、次のようにアニメーションを実行しています:

   [UIView animateWithDuration:20.0 animations:^{_testView.alpha = 1.0;}]; 

4) これは正常に動作します - 20 秒で、ビューは徐々に完全に表示されます (期待どおり)。

問題は、アニメーションの開始から 5 秒後にホームの下部を押したときです。ホーム キーを押した直後にアプリに戻ると、ホーム画面が押された時点からアニメーションが開始されません。完全に見えるビューをロードします。

これを解決するために私がしたことは次のとおりです。

1) アプリ デリゲートからのローカル通知を作成しました。- アプリケーション内のDidEnterBackground: 一時停止用、アプリケーション内のDidBecomeActive: アニメーションの再開用

2)View Controllerで、ローカル通知をチェックしており、それに基づいてレジュームレイヤーとポーズレイヤーを実行しています(Appleが推奨するpauselayerおよびresumelayerメソッドとCALayerオブジェクトによる)

3) ブレークポイントを使用してデバッグ モードでチェック - コントロールは予期したとおりに一時停止および再開メソッドに入ります。

4) しかし、最終結果は期待どおりではありません - ビューは常にアニメーションが完全にコミットされた状態でロードされます

私が何をしても、ビューには alpha=1.0 のコミットされたアニメーションが読み込まれると思います。

これを解決するための指針を教えてもらえますか?アニメーションの一時停止/再開について他の SO 投稿を確認しましたが、何も役に立ちませんでした。

基本的にホームボタンを押したところからアニメーションを再開したい

ありがとう

4

0 に答える 0