別のViewController(DetailViewController)を表示するためにpushViewControllerを呼び出すルートViewController(RootViewController)があります。 DetailViewControllerでは、ルートViewControllerに表示される内容に影響する編集を行います。したがって、DetailViewControllerがpopViewControllerAnimatedによって削除された後、RootViewControllerのビューを再描画する必要があります。popViewControllerAnimatedの後にViewControllerをリフレッシュする
問題は、このシナリオではsetNeedsDisplayが機能していないようです。 RootViewControllerのviewWillAppear方法では、私が呼ん:
[self.view setNeedsDisplay]
しかし、RootViewControllerビューの内容が更新されません。ですから、setNeedsDisplayの動作を妨げるNavigation Controllerについて何かがあるかどうかは疑問です。
私は見つけることができる唯一の回避策は、あなたが代わりのviewDidLoadのviewWillAppearであなたのビューを更新することができ、ビュー全体
self.view = nil;
しかし、私はなぜviewWillAppear [self.view setNeedsDisplay]が動作しないように見えるのだろうかと思います。理論的には、これによってビュー自体が再描画されるはずです。 – user542428