2017-12-31 269 views
1

ビューコントローラのビューを半透明にしたいと考えています。そのために私はこのような背景色をviewDidLoadメソッドで設定しました。透明なビューの背景が黒くなる

view.backgroundColor = UIColor(white: 0, alpha: 0.5) 

ビューコントローラが表示されると、必要に応じて背景が表示され、すぐに黒く表示されます。

enter image description here

なぜこの出来事はありますか?

これはPopupViewControllerを示すためのコードです:

@IBAction func didTapShowButton(_ sender: UIButton) { 
    let navController = UINavigationController(rootViewController: PopupViewController()) 
    present(navController, animated: true, completion: nil) 
} 

私もデモプロジェクトhereをアップロードしました。

+0

あなたは前に考えなかった。 – slickdaddy

答えて

3

あなたはフラグoverCurrentContext(またはcustom)を追加することができ、ので、あなたのpresentのようなものかもしれません:これは、あなたにそのデザインのアイデアの数を与える可能性があり、カスタムプレゼンテーションを作成する絶好の機会かもしれ

@IBAction func didTapShowButton(_ sender: UIButton) { 
    let navController = UINavigationController(rootViewController: PopupViewController()) 
    navController.modalPresentationStyle = .overCurrentContext 
    present(navController, animated: true, completion: nil) 
} 
+1

もう1つは '.custom'です。 – dfd