2016-08-10 8 views
0

In-Callステータスバーが表示されたときに正しくサイズ変更するUIViewControllerがあります。さらに、これは、自身も正しくサイズ変更する子UIViewControllerを提供します。ただし、子VCを提示して、コールインステータスバーを表示すると、子コールを外した後、親VCは、インコールバーが表示されているようなサイズになりません。ステータスバーを非表示にして再表示すると、親のサイズが正しく変更されます。子を解雇するときに、親VCがすでに正しくサイズ調整されるようにするにはどうすればよいですか?In Call Status Barで親UIViewControllerのサイズが変更されない

例:

Parent.m

[self.view addSubview:self.webView]; 
self.webView.autoresizesSubviews = YES; 
//The webview resizes correctly when in-call status bar shows 
self.childViewController = [[Child alloc]init]; 
//present child 
[self presentViewController:self.childViewController animated:YES completion:nil]; 

//In-call status bar shows (child resizes correctly) 

[self.childViewController dismissViewControllerAnimated:YES completion:nil]; 
//View is still sized as if in-call status bar is not shown 

Child.m

self.view.autoresizesSubviews = YES; 
[self.view setAutoresizingMask:(UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth)]; 
//The view resizes correctly when in-call status bar shows 
+0

質問レビュー:問題を示すコードの簡略化されたバージョンを追加します。 –

+0

@RichLinnellが追加されました。ありがとう! – Cowabunghole

答えて

0

残念ながら、私はこの問題を解決することができませんでした。代わりに、私は、子ビューコントローラの提示と解除から、ナビゲーションアイテムとしてのプッシュとポップに切り替えました。私が気付いた唯一の実際の違いは、アニメーションが異なっていることです(子は下からではなく右からアニメーションされます)が、効果的に同じであることを除けば、インコールステータスバーそれ自体を解決しました。

関連する問題