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