我有一个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)
}
}
答案 0 :(得分:0)
在图层/视图中切割孔的遮罩会在该孔前面的所有子图层/子视图中切割相同的孔。
您可以在洞前放置一个视图,但如果它是被屏蔽视图的子视图,则不可见。