показывать контроллер uiview как всплывающее окно - PullRequest
0 голосов
/ 03 июля 2019

enter image description here Мой текущий viewController имеет черный цвет (это должно быть черным согласно моему требованию). Я представляю другой viewcontroller как всплывающее окно. Этот контроллер имеет вид по умолчанию, который я установил как чистый цвет, другой вид поверх вида по умолчанию, который имеет фоновый цвет как черный, и установил альфа как .6, а сверху - табличный вид, который имеет фон как белый. Моя проблема, когда всплывающее окно отображается правильно, но поскольку цвет моего представления контроллера исходного представления является черным, поэтому цвет моего всплывающего окна также показывает эффект этого

1 Ответ

2 голосов
/ 03 июля 2019

Добавьте этот фрагмент кода, откуда вы хотите всплывающее окно.

    var helpView = UIStoryboard(name: "MainStoryboard", bundle: nil).instantiateViewController(withIdentifier: "ViewController") as? YourViewControllerClass

    let window = UIApplication.shared.keyWindow
    helpView.view.backgroundColor = UIColor.init(red: 0.0/255.0, green: 0.0/255.0, blue: 0.0/255.0, alpha: 0.6)
    helpView.view.frame = (window?.frame)!
    window?.addSubview(helpView.view)
    window?.rootViewController?.addChildViewController(helpView)

    helpView.didMove(toParentViewController: self)

Добавьте этот фрагмент кода в действие кнопки закрытия всплывающего окна.

    self.view.removeFromSuperview()
    self.removeFromParentViewController()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...