在uiview的右下角放一个阴影

Hon*_*ney 33 shadow calayer ios

我必须在uiview的右边和底部放一个阴影.我在界面构建器中执行此操作.但是我看到阴影掉到了顶部.已经有不同的大小.但是无法得到它.

layer.masksToBound=No
layer.shadowOpacity=0.15
layer.shadowRadius=2
layer.shadowOffSet={10,-10}   //Values being set in Interfacebuilder.
Run Code Online (Sandbox Code Playgroud)

仍然会在顶部留下阴影.我应该怎么做才能到达底部.

Nit*_*hel 105

尝试以下代码,它可能会对您有所帮助

    myView.layer.shadowColor = [UIColor purpleColor].CGColor;
    myView.layer.shadowOffset = CGSizeMake(5, 5);
    myView.layer.shadowOpacity = 1;
    myView.layer.shadowRadius = 1.0;
    myView.layer.maskToBounds = NO;
Run Code Online (Sandbox Code Playgroud)

我测试了这段代码,它的工作和输出是:

在此输入图像描述

  • 而不是`myView.layer.shadowOffset = CGSizeMake(5,5);`do`myView.layer.shadowOffset = CGSizeMake(0,5);` (6认同)
  • 你能告诉我如何只在视图的bttom中添加阴影. (3认同)

nik*_*l84 6

您好我使用下面的代码,它将为您提供您想要的阴影.

 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;
Run Code Online (Sandbox Code Playgroud)

maskToBounds也是imp,因为它禁用了比视图边界更远的子层的剪切.如果你把它设为YES然后你就不会看到阴影,因为它会剪切子层,否则它允许扩展层.