2015-07-09 2 views
0

Я хочу установить тень для родительского представления. Но я хочу, чтобы детские взгляды остались прежними.Objectivec set shadow to parent view

Что я делаю сейчас

parentView.layer.shadowRadius = 0.8; 
parentView.layer.shadowOpacity = 0.3; 
parentView.layer.shadowOffset = CGSizeMake(1.0, 1.4); 

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

Спасибо

+1

вы пытаетесь использовать 'layer.masksToBounds = YES;' для ребенка вид. – bluesky

+1

@bluesky AFAIK это ничего не сделает. – NKorotkov

ответ

8

Является ли ваш родительский вид каким-либо образом прозрачным? Я создал простой проект и использовал ваш код. Я изменил некоторые значения, чтобы увидеть тень немного лучше. Это как это выглядит:

enter image description here

Как вы можете видеть - ни тени на подвид. Цвет фона parentView установлен на белый. Когда я устанавливаю его для очистки цвета, это то, что происходит. Я добавил границу, чтобы доказать, что parentView еще есть:

enter image description here

компании Apple Docs доказать это:

Рисунок A-7 показывает несколько различных версий одного и того же образца слоя с красной тенью применяется. Левая и средняя версии включают цвет фона , поэтому тень появляется только вокруг границы слоя . Тем не менее, версия справа не содержит фона цвета. В этом случае тень применяется к содержимому слоя, границе и подслоям.

enter image description here