2016-11-06 2 views

ответ

1
  • Эффект размытия применяется точно на весь экран, но выбранной ячейки в случае почтового приложения. Если вы хотите, чтобы эффект применить к табличном, вы могли бы, возможно, поставить размытости визуальное представление на топе содержимого вашей каждой ячейки, и установить его влияние на ноль

    cell.blurView.effect = nil 
    

    Appart при выборе одной ячейки. Для этого, играйте с функцией didSelectRow и перезагрузите данные, чтобы в конце вы получили необходимый эффект. (Вы можете даже анимировать изменения с UIView.animate())

    UIView.animate(withDuration: 0.5, animations: { 
        cell.blurView.effect = UIBlurEffect.init(style: .light) 
    } 
    
  • Проблема заключается в том, что решение, которое я сказал вам, не очень энергоэффективное, но я могу думать о другом: Рассмотрю наличие два размытости что отображение не действует, если ни одна ячейка не выбрана, то вы можете, как только ячейка выбрана, установить два размытия, чтобы первый взял всю часть экрана в верхней части вашей ячейки, а другой покрывает НИЖНУЮ.

  • Ok последняя идея: вы могли бы, в методе didSelectRow, добавьте blurView на весь экран

    UIApplication.shared.keyWindow?.addSubview(blurView) 
    

    , а затем добавить в клетку на вершине, что и, конечно, удаляя все это, когда размытие вид сливают, например

Надеется, что это помогает;)

Смежные вопросы