Как лучше всего добавить тень к моему UIView

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

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

Я пытался манипулировать view.frameи view.bounds, чтобы добавить тень к кадру, но позволить границам быть достаточно большими, чтобы охватить его, однако мне не повезло с этим.

Вот код, который я использую для добавления тени (это работает только с clipsToBoundsOFF, как показано на рисунке)

view.clipsToBounds = NO;
view.layer.shadowColor = [[UIColor blackColor] CGColor];
view.layer.shadowOffset = CGSizeMake(0,5);
view.layer.shadowOpacity = 0.5;

Вот скриншот тени, примененной к верхнему самому светлому серому слою. Надеюсь, это дает представление о том, как мой контент будет перекрываться, если clipsToBoundsвыключен.

Shadow Application.

Как я могу добавить тень к моему UIViewи оставить содержимое обрезанным?

Редактировать: Просто хотел добавить, что я также экспериментировал с использованием фоновых изображений с включенными тенями, что действительно работает хорошо, однако я все же хотел бы знать лучшее закодированное решение для этого.

103
задан Cœur 10 September 2017 в 06:11
поделиться