向uiview的右下方投下阴影

我必须在uiview的右下angular放一个阴影,我在界面制作器中做了这个。但是我看到阴影落在了它的上面。不同的尺寸,但是不能得到它。

layer.masksToBound=No layer.shadowOpacity=0.15 layer.shadowRadius=2 layer.shadowOffSet={10,-10} //Values being set in Interfacebuilder. 

尽pipe如此,这还是让阴影笼罩在顶部。我该怎么做才能看到底部。

试试下面的代码,它可能会帮助你

  myView.layer.shadowColor = [UIColor purpleColor].CGColor; myView.layer.shadowOffset = CGSize(5, 5); myView.layer.shadowOpacity = 1; myView.layer.shadowRadius = 1.0; 

我testing了这个代码,它的工作和输出是:

在这里输入图像说明

嗨,我已经使用下面的代码,它会为你提供你想要的影子。

  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,那么你不会看到阴影,因为它剪辑子图层,否则在NO允许范围层。

Swift 3中CGSizeMake不再存在。 它已被更改为CGSize(width: 20, height: 10) 。 所以shadowOffset可以像这样在Swift 3中设置

 myView.layer.shadowOffset = CGSize(width: 20, height: 10) 

我认为你的阴影偏移是不正确的。 应该是{10,10}:

 [layer setShadowOffset:CGSizeMake( 10 , 10 ) ]; 

我发现这些值给出了一个很好的结果:

 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 

在这里输入图像说明