を使用してモーダル ビュー コントローラを閉じるときにdismissViewController
、完了ブロックを提供するオプションがあります。 に同様のものはありますかpopViewController
?
完了引数は非常に便利です。たとえば、これを使用して、モーダルが画面から消えるまでテーブルビューから行を削除するのを延期し、ユーザーに行のアニメーションを表示させることができます。プッシュされたビュー コントローラーから戻るときにも、同じ機会が欲しいです。
popViewController
完了ブロックにアクセスできるアニメーション ブロックに配置しようとしましたUIView
が、これにより、ポップされるビューに望ましくない副作用が発生します。
そのような方法が利用できない場合、回避策は何ですか?
ベストアンサー1
2 年以上前に回答が承認されたことは知っていますが、この回答は不完全です。
すぐに望むことを実現する方法はありません
API ではこれに対するオプションが提供されていないため、これは技術的には正しいですUINavigationController
。ただし、CoreAnimation フレームワークを使用すると、基礎となるアニメーションに完了ブロックを追加できます。
[CATransaction begin];
[CATransaction setCompletionBlock:^{
// handle completion here
}];
[self.navigationController popViewControllerAnimated:YES];
[CATransaction commit];
使用されたアニメーションが終了するとすぐに完了ブロックが呼び出されますpopViewControllerAnimated:
。この機能は iOS 4 以降で利用可能です。