UIViewController размытие фона превращается в серый - PullRequest
0 голосов
/ 25 сентября 2018

Я хотел бы использовать размытый фон для моего контроллера представления, но как только представление загружается, все становится серым.

Я представляю контроллер представления, выполняя переход из другого представления, ив методе viewDidLoad() контроллера представления я реализую эффект размытия, как показано ниже

override func viewDidLoad() {
    super.viewDidLoad()

    view.backgroundColor = UIColor.clear

    let blurBgView = UIVisualEffectView(effect: UIBlurEffect(style: .extraLight))
    blurBgView.translatesAutoresizingMaskIntoConstraints = false

    view.insertSubview(blurBgView, at: 0)

    NSLayoutConstraint.activate([
        blurBgView.heightAnchor.constraint(equalTo: view.heightAnchor),
        blurBgView.widthAnchor.constraint(equalTo: view.widthAnchor),
        ])
}

Вот как это выглядит

enter image description here

Как реализовать размытие фона для моего контроллера представления?

Я использую XCode 9.3, Swift 4.1

Спасибо

1 Ответ

0 голосов
/ 25 сентября 2018

Представьте свой контроллер вида и установите его modalPresentationStyle от вашего первоначального vc:

let newController = NewViewController()
newController.modalPresentationStyle = .overCurrentContext
present(newController, animated: true, completion: nil)

Или, если вы готовитесь к переходу:

let newController: NewViewController = segue.destination as! NewViewController
newController.modalPresentationStyle = .overCurrentContext

И в NewViewController класс в viewDidLoad() добавить свой код.

...