Снимите тень справа и внизу от uiview
Мне нужно отбросить тень справа и внизу от uiview. Я делаю это в построителе интерфейса. Но я вижу, что тень упала до вершины его. Проведенный differnt sizes.but не смог получить.
layer.masksToBound=No
layer.shadowOpacity=0.15
layer.shadowRadius=2
layer.shadowOffSet={10,-10} //Values being set in Interfacebuilder.
Тем не менее это уменьшает тени вверху. Что делать, чтобы получить снизу.
Ответы
Ответ 1
Попробуйте использовать следующий код, это может помочь вам
myView.layer.shadowColor = [UIColor purpleColor].CGColor;
myView.layer.shadowOffset = CGSize(5, 5);
myView.layer.shadowOpacity = 1;
myView.layer.shadowRadius = 1.0;
Я тестировал этот код, и он работает и выводит:
![enter image description here]()
Ответ 2
Привет, я использовал ниже код, он предоставит вам тень, которую вы хотите.
UIBezierPath *shadowPath = [UIBezierPath bezierPathWithRect:_viewShadow.bounds];
_viewShadow.layer.masksToBounds = NO;
_viewShadow.layer.shadowColor = [UIColor blackColor].CGColor;
_viewShadow.layer.shadowOffset = CGSizeMake(10.0f, 5.0f); /*Change value of X n Y as per your need of shadow to appear to like right bottom or left bottom or so on*/
_viewShadow.layer.shadowOpacity = 0.5f;
_viewShadow.layer.shadowPath = shadowPath.CGPath;
Также masksToBounds является imp, поскольку он отключает отсечение подслоев, которые расширяются дальше границ представления. Если вы положите его YES, тогда вы не увидите тень, поскольку он заархивирует подслой, где еще в НЕТ, чтобы позволить выравнивать слой.
Ответ 3
В Swift 3, CGSizeMake
больше не существует. Он был изменен на CGSize(width: 20, height: 10)
. Таким образом, shadowOffset
можно установить таким образом в Swift 3:
myView.layer.shadowOffset = CGSize(width: 20, height: 10)
Ответ 4
Я думаю, что теневое смещение неверно. Это должно быть {10, 10}, например:
[layer setShadowOffset:CGSizeMake( 10 , 10 ) ];
Ответ 5
Я узнал, что эти значения дают хороший результат:
myView.layer.shadowColor = UIColor.black.cgColor
myView.layer.shadowOpacity = 0.25
myView.layer.shadowRadius = 3
myView.layer.shadowOffset = CGSize(width: 1, height: 1) // shadow on the bottom right
![введите описание изображения здесь]()