CALayer отбрасывает тень на каждый подслой, как удалить? - PullRequest
5 голосов
/ 05 августа 2011

У меня есть контейнер UIView с табличным представлением в нем, ячейки которого содержат изображения и кнопки.

Я хочу добавить тень к самому внешнему контейнеру, но когда я это сделал, я обнаружил, что тени также добавляются ко всем изображениям и кнопкам. Как я могу добавить тень только к самому слою без его подслоев?

код:

listContainer.layer.shadowColor = [UIColor blackColor].CGColor;
listContainer.layer.shadowOffset = CGSizeMake(3, 0);
listContainer.layer.shadowOpacity = .8;
listContainer.layer.borderColor = [UIColor blackColor].CGColor;

Спасибо!

Ответы [ 2 ]

5 голосов
/ 09 октября 2011

Вы пробовали свойство shadowPath вашего слоя?

listContainer.layer.shadowPath = [UIBezierPath bezierPathWithRect:listContainer.bounds.CGPath];
2 голосов
/ 03 декабря 2015

Однажды у меня была эта проблема, и проблема заключалась в том, что цвет фона слоев был прозрачным.

Так что, если у вас есть UIView или CALayer, и вы пытаетесь установить тени на нем, убедитесь, чтоцвет фона, который предотвращает наложение теней на подслои

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