2016-12-13 15 views
1

私は、特定の高さで、現在のViewControllerの下からViewControllerを下に表示したいとします。次に、StatusBarの背後にあるViewControllerを移動する機能を追加しました。私はUIPresentationControllerで実装しました。それは次のようになります。StatusBarは自動的にsetNeedsLayoutに追加されました

screenshot - Full Screen

そして今、私は大きな問題を抱えている:私は、任意のラベルに呼び出さsetNeedsLayout方法とViewControllerを提示し、私の見解を新しい値を設定するときに20ピクセルのパディングを追加します上。それは次のようになります。

screenshot - FullScreen with StatusBar Padding

私の目的は、このパディング挿入をトリガすることなく、ラベルに新しいテキストを設定することです。それはなぜ加えられるのですか?フレームとビューの境界を手動で設定しようとしましたが、動作しませんでした。プロパティーautomaticallyAdjustsScrollViewInsetsも役に立ちませんでした。

+0

この行をviewDidLoadメソッドに追加して、これが問題を解決するかどうかを確認してください:self.automaticallyAdjustsScrollViewInsets = false –

+0

既に試してみましたが、それは役に立ちません。 –

+0

tableview.automaticallyadjustesscrollviewinsetsをfalseに設定します。 –

答えて

0

調査の結果、私はprefersStatusBarHiddenメソッドをオーバーライドできたことがわかりました。これを行うことで、ステータスバーが消えました。ダイアログはモーダルなので、動作させるためにmyDestinationController.modalPresentationCapturesStatusBarAppearance = trueを追加する必要がありました。

今後も一部の人々に役立つことを願っています!

関連する問題