2017-12-17 46 views
0

私はiOS 10用にXcode 8で作成したアプリを持っています。私は最近Xcode 9にアップグレードして、iPhone XとiOS 11のために私のアプリに修正を加えてきました。私は多くの問題を抱えています。ノッチでエリアを含む全画面を作る方法です。アラートを表示しているときに薄暗くなります。画像を参照してください:iPhone Xのアラートは、UIAlertControllerポップアップで異なる色を表示します

私は「接続」ビューコントローラ(あなたは以下を参照してくださいどのような)に、アラートを提示しています。私はこのView Controllerのルートビューを操作するために何もしなかった。私は、このルートビューのためにストーリーボードに「セーフエリア相対マージン」と「セーフエリアレイアウトガイド」を「チェック」しました。私は自分のiPhone 6でこのビルドを実行すると、ステータスバーも淡色表示されません(ただし、これらのチェックボックスをチェックしないと、これらのチェックボックスはチェックされません)。

興味深いことに、ステータスバーはiPhone-Xよりもずっと小さくなっているので、目立ちません)。この問題は明らかにXcode 9で発生し始めました。私の現在のバージョンのApp Store(Xcode 8で構築されています)はアラート画面全体を暗くしていたからです。

この問題を解決する方法はありますか?他の情報が必要な場合は教えてください。

+1

これが起こる:'(forKey "ステータスバー")、またはステータスバーの事で遊んで。 – Jack

+0

ありがとうございました!あなたが正しい!私が次のようにコメントしたとき、私の警告はうまくいきました。このようなことをするコードを置くのに良い場所はありますか(下記参照)?現在、App Delegateにあります。 – mlecoz

+0

'if let statusBar = UIApplication.shared.value(forKeyPath:" statusBarWindow.statusBar ")? UIView { statusBar.backgroundColor = UIColor(赤:0.43、緑:0.19、青:0.98、アルファ:1.0) } – mlecoz

答えて

0

更新UIWindowなどにサブビューを追加する

<key>UIViewControllerBasedStatusBarAppearance</key> 
<false/> 

使用してのInfo.plist - 警告ポップアップで

UIApplication.shared.statusBarStyle = .lightContent//for white color 
let statusBarBgView = UIView(frame: CGRect(x: 0, y: 0, width: UIScreen.main.bounds.width, height: UIApplication.shared.statusBarFrame.height)) 

statusBarBgView.backgroundColor = UIColor.red//status bar color 
window?.rootViewController = MYViewController//Entry point 
window?.rootViewController?.view.addSubview(statusBarBgView)//Adding to window 

結果 - >

enter image description here

012背景と

結果がリストアプリ - あなたは `値を使用している場合>

enter image description here

関連する問題