Я пытаюсь добавить тень к представлениям, которые наслаиваются друг на друга, представления рушатся, позволяя контент в других представлениях будет виден, в этом ключе я хочу оставить view.clipsToBounds
включенным, чтобы при схлопывании представлений их содержимое обрезалось.
Кажется, это затруднило мне добавление тени к слоям, поскольку, когда я включаю clipsToBounds
, тени также обрезаются.
Я пытался манипулировать view.frame
и view.bounds
, чтобы добавить тень к кадру, но позволить границам быть достаточно большими, чтобы охватить его, однако мне не повезло с этим.
Вот код, который я использую для добавления тени (это работает только с clipsToBounds
OFF, как показано на рисунке)
view.clipsToBounds = NO;
view.layer.shadowColor = [[UIColor blackColor] CGColor];
view.layer.shadowOffset = CGSizeMake(0,5);
view.layer.shadowOpacity = 0.5;
Вот скриншот тени, примененной к верхнему самому светлому серому слою. Надеюсь, это дает представление о том, как мой контент будет перекрываться, если clipsToBounds
выключен.
Как я могу добавить тень к моему UIView
и оставить содержимое обрезанным?
Редактировать: Просто хотел добавить, что я также экспериментировал с использованием фоновых изображений с включенными тенями, что действительно работает хорошо, однако я все же хотел бы знать лучшее закодированное решение для этого.