ПРИМЕЧАНИЕ. Меня не интересует, как нарисовать тень на UIView.Это уже сделано, и код также показан ниже.
У меня есть UITableView
, который содержит серию разделов.
Каждый Section
имеет свой собственный UIView
как HeaderView
.
Каждая Section
имеет одну ячейку, которая встроена в UIViewController
(UIView
контроллера, но это детали реализации, поскольку та же проблема возникает с обычными ячейками безcontent)
Ячейка имеет внутреннее представление, отбрасывающее тень, с параметром большого размытия: 24
Структура выглядит примерно так
UITableView
-> HeaderView
-> TableViewCell
--> View With Shadow with Blur 24
-> HeaderView
-> TableViewCell
--> View With Shadow with Blur 24
-> HeaderView
-> TableViewCell
--> View With Shadow with Blur 24
Проблема:
Тень рисуется в виде / ячейке, но не отрисовывается поверх других заголовков / ячеек.
Я бы сказал, что это нормальное поведение.
Я хотел бы отбросить тень за пределы ячейки.
clipToBound
и maskToBound
уже установлены в false (по умолчанию для каждого UIView)
Чтов настоящее время выглядит как :
Вы можете видеть, что тень обрезана в конце ячейки и неая в заголовке раздела до или после ячейки
Чего я пытаюсь достичь :
Я бы хотел, чтобы тень опускалась за границы ячейки и распространялась на оставшиеся UIviews, даже если общим предком является только UITableView
Примечания :
Я не могу уменьшить радиус размытия, чтобы соответствовать рамке ячейки.Мне нужно, чтобы оно было таким большим.
Код для тени обычный:
shadowView.backgroundColor = UIColor.clear
shadowView.layer.shadowColor = profileShadowColor.cgColor
shadowView.layer.shadowOffset = CGSize(width: 0, height: 6)
shadowView.layer.shadowOpacity = 0.25
shadowView.layer.shadowRadius = 20