Dim superviewcontroller, но не дочерний контроллер представления

Можно ли затемнить super viewController, но не любой из его childViewController. Например, затемнить мой вид карты, но не tableviewController, который является его дочерним ViewController.

введите здесь описание изображения

PopoverViewControllers не будет работать, потому что я только на iPhone. Каково мое лучшее решение этой проблемы?


person NojDavid    schedule 16.01.2018    source источник
comment
Добавьте представление на superviewcontroller с прозрачным фоном.   -  person Mukesh    schedule 16.01.2018
comment
Вы можете использовать контроллер всплывающего окна в iPhone так же, как iPad из IOS8. stackoverflow.com/questions/16230700/   -  person Bilal    schedule 16.01.2018


Ответы (1)


Вы можете добавить представление (например, blackMaskView) над mapView с помощью:

self.mapview.insertSubview(blackMaskView, aboveSubview: self.mapview)

а затем добавьте эффект размытия в blackMaskView следующим образом:

func createBlurView() {

    // Blur Background

    let blurEffect = UIBlurEffect(style: UIBlurEffectStyle.dark)

    let blurEffectView = UIVisualEffectView(effect: blurEffect)

    blurEffectView.frame = self.view.bounds

    self.blackMaskView.addSubview(blurEffectView)

    self.view.layoutIfNeeded()

}  

Используйте blackMaskView.isHidden = true, чтобы окончательно скрыть размытое изображение. Пожалуйста, отметьте ответ как правильный, если считаете его полезным.

person Sam    schedule 16.01.2018