Есть ли способ предотвратить наложение теней CALayer на соседние слои?

У меня есть коллекция CALayers. Каждый слой является подслоем одного и того же родительского CALayer, и к каждому из них применяется тень. Слои располагаются динамически, и их много, поэтому я не могу заранее предсказать, как они будут расположены.

Если слои расположены рядом друг с другом (достаточно близко, чтобы они почти соприкасались), тень одного из CALayers отрисовывается поверх другого CALayer. Возможно, в большинстве случаев это желаемый эффект, но я хочу, чтобы мои слои существовали в одной z-плоскости. (Примером может служить способ применения CSS3 теней к блочным элементам в веб-дизайне.)

Возможно ли это? Как я могу этого добиться?

(У меня возникла такая идея: Добавить подслой "shadow" к каждому CALayer с моим собственным изображением тени, и установить z-позицию на более низкое значение. Но разве дерево слоев не делает это невозможным? Z-положения в системе координат одного слоя не зависят от z-положений в системе координат другого слоя, верно?)

7
задан Jay Bhalani 21 December 2015 в 07:39
поделиться