面具上方的按钮

时间:2017-03-09 13:08:40

标签: swift3 ios10

我有一个viewcontroller,它在Storyboard中设置了一些东西 - 特别是3个按钮。

我在按钮背后设置动画,显示"通过"他们,并创建了一个掩盖视图,应该隐藏动画。这样可行。问题是,我不知道将按钮放在掩码视图的顶部。它们也被它隐藏起来。我尝试了button.layer.zPosition = 1之类的东西,但无济于事。红色是为了能见度。

        let bottomMaskStart = contentText.frame.origin.y+contentText.frame.height
        bottomtMaskView = UIView(frame: CGRect(x: 0, y: bottomMaskStart, width: rangeView.frame.origin.x, height: self.view.frame.height-bottomMaskStart))
        bottomtMaskView.layer.backgroundColor = UIColor.red.cgColor
        self.view.addSubview(bottomtMaskView)
        self.playButton.layer.zPosition = 1

非常感激帮助。

以线条形式绘制的动画落后于核心图形 - 每100毫秒调用当前的麦克风:

func rangeWaveForm(){
        let viewHeight = self.rangeView.frame.height
        let db = viewHeight - (CGFloat(self.calculateVoiceLevel())/maxDb)*viewHeight
        let p = CGPoint(x:self.lastPoint.x+10, y: db)
        self.drawLineFromPoint(start: self.lastPoint, toPoint: p, ofColor: UIColor.blue, inView: customView)

        self.lastPoint = p
}



func drawLineFromPoint(start : CGPoint, toPoint end:CGPoint, ofColor lineColor: UIColor, inView view:UIView) {
        let path = UIBezierPath()
        path.move(to: start)
        path.addLine(to: end)
        let shapeLayer = CAShapeLayer()
        shapeLayer.path = path.cgPath
        shapeLayer.strokeColor = lineColor.cgColor
        shapeLayer.lineWidth = 1.0
        if(end.x > view.frame.width*0.95){

            let newRect = CGRect(x: view.frame.origin.x-10, y: view.frame.origin.y, width: view.frame.width+10, height: view.frame.height)
            view.frame = newRect

        }
        if(start != CGPoint.zero){
            view.layer.addSublayer(shapeLayer)
        }

    }

1 个答案:

答案 0 :(得分:0)

在图层/视图中切割孔的遮罩会在该孔前面的所有子图层/子视图中切割相同的孔。

您可以在洞前放置一个视图,但如果它是被屏蔽视图的子视图,则可见。