在UIView周围不可见阴影

时间:2017-09-25 04:10:37

标签: ios swift uiview

我使用$hosts = array( 'xx.x.xxx.xxx', // Port ); 创建了一堆圆圈UIViews(圆圈内的圆圈)。 Here is what I have done currently

现在我想为每个圆圈添加阴影。它应该是每个圆圈周围的阴影。所以我确实喜欢这个。

CAShapeLayer

在我的func setCircleShadow(circle:Circle) { circle.layer.shadowColor=UIColor.init(colorLiteralRed: 0.0/255, green: 0.0/255, blue: 0.0/255, alpha: 0.14).cgColor circle.layer.shadowOffset = CGSize.init(width: circle.frame.size.width, height: circle.frame.size.height) circle.layer.shadowOpacity = 1.0 circle.layer.shadowRadius = 6.0 circle.layer.masksToBounds = false } 我以这种方式调用此方法。

UIViewController

但我的阴影在for addedcircle in circleStack { self.view.addSubview(addedcircle) let deco=CircleDeco() deco.setCircleShadow(circle: addedcircle) } 周围不可见。请告诉我我的代码有什么错误。

更新

Circle class draw方法调用此方法并创建圆圈

UIViews

这是如何调用上面的方法

func drawCircle()
{


    let circlePath = UIBezierPath(arcCenter: CGPoint.init(x: RDcircleEnum.circleCenterX.getValues(), y: RDcircleEnum.circleCenterY.getValues()), radius: CGFloat(self.innerCircleRadius), startAngle: CGFloat(0), endAngle:CGFloat(Double.pi * 2), clockwise: true)


    let shapeLayer = CAShapeLayer()
    shapeLayer.path = circlePath.cgPath

    //change the fill color
    shapeLayer.fillColor = UIColor.blue.cgColor
    //you can change the stroke color
    shapeLayer.strokeColor = UIColor.red.cgColor
    //you can change the line width
    shapeLayer.lineWidth = 3.0
    shapeLayer.path = circlePath.cgPath

    self.layer.mask = shapeLayer

}

然后在我的视图控制器中,我使用for循环添加这些圆圈

1 个答案:

答案 0 :(得分:0)

检查您对“clipToBounds”的观看次数。也许这是真的。在每个视图中将其切换为false。

view.clipToBounds = false

此参数会切断所有视图范围