Вопрос по ios, calayer – Тень не отображается, когда цвет фона чистый

22

Мы создали UIView в моем XIB с цветом фона как чистый цвет. Когда я применяю тень к слою вида, тень не появляется. Но когда я устанавливаю цвет фона, отличный от прозрачного, появляется тень. Пожалуйста помоги.

это мой код

self.cView.layer.shadowColor=[UIColor whiteColor].CGColor;
self.cView.layer.shadowOffset=CGSizeZero;
self.cView.layer.shadowRadius=30.0;
self.cView.layer.shadowOpacity=1.0;
self.cView.layer.cornerRadius=10.0;

Ваш Ответ

3   ответа
27

что тень на самом деле учитываетверхний» слой. Если там'Ничего, на нем не будет тениКак работают тени

РЕДАКТИРОВАТЬ:

Есть этот рецептскопировано из пасты

view.layer.shadowColor = [UIColor colorWithWhite:.5 alpha:1].CGColor;
view.layer.shadowRadius = 4.0f;
view.layer.shadowPath = CGPathCreateWithRect(CGRectMake(0, 0, 50, 50), NULL);
view.layer.shadowOpacity = 1.0f;
view.layer.shadowOffset = CGSizeMake(1, 1);

Но я сомневаюсь, что это будет вам полезно: результат - это мнение.окрашенные» с цветом тени и тени вокруг него.

Недостатком является то, что UIView.animate не работает с shadowPath. James L
Да, тени возникают только тогда, когда вид непрозрачный или в нем есть какой-то контент. Установка прозрачного цвета аналогична настройке прозрачного вида. Mukunda
0

shadowView.layer.shadowPath = UIBezierPath(roundedRect: shadowView.bounds, cornerRadius: 10).cgPath) это будет работать даже с .clear backgroundColor.

Спасибо вам большое! filip.karas
0

self.cView.clipToBounds к?NO

На самом деле выглядит так, что альфа тени такая же, как и у вида. Rok Jarc
Это'показывает, но мы хотим, чтобы цвет фона был чистым Mukunda
Это'не работает Mukunda
Что если вы установите цвет фона не совсем прозрачным, но непрозрачным на 1%? Слабая тень показывает? Показывает ли тень полупрозрачность, если фон на 50% непрозрачен? Cyrille
Нет, яЯ просто играю с этой проблемой и могу это подтвердить. Rok Jarc

Похожие вопросы