私のプロジェクトでは、ホーム ボタンが押された時点から 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 投稿を確認しましたが、何も役に立ちませんでした。
基本的にホームボタンを押したところからアニメーションを再開したい
ありがとう