【问题标题】:Can't get layer mask to work properly无法让图层蒙版正常工作
【发布时间】:2015-08-19 03:54:07
【问题描述】:

我有一个名为zigZagUIImageView。我要做的就是在其上设置一个图层蒙版,使其完全不可见。

然后我想稍后为图层蒙版设置动画,以便UIImageView 再次可见。

我已经为此工作了 4 个小时,但似乎无法弄清楚我到底做错了什么。

// Setup the mask layer
// Make it the same size as our zigZag image
// so that the entire image is covered and not visible

let maskLayer = CALayer()      
maskLayer.frame = self.zigZag!.frame

self.zigZag!.layer.mask = maskLayer

这行得通,zigZag UIImageView 在屏幕上不可见,但这就是问题所在。我可以将任何我想要的值传递给maskLayer.frame,它仍然会被隐藏。

这让我相信在考虑创建遮罩层时我做错了什么。我要解决的这个问题还有很多,但我认为第一步是弄清楚如何正确设置遮罩层以隐藏整个UIImageView,使其看起来好像甚至不在屏幕上。

感谢您的帮助,我非常感谢。

【问题讨论】:

  • 记住Fully or partially opaque pixels allow the underlying content to show through but fully transparent pixels block that content.

标签: ios swift uiimageview calayer


【解决方案1】:

imageView 后面还有其他视图吗?如果没有,试试这个

    let maskLayer = CALayer()
    maskLayer.frame = CGRectMake(0, 0, 10, 10)
    maskLayer.backgroundColor = UIColor.whiteColor().CGColor
    self.zigzagImageView.image = img;
    self.zigzagImageView.layer.addSublayer(maskLayer)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-11
    • 1970-01-01
    • 1970-01-01
    • 2012-09-05
    • 2017-11-06
    • 2011-09-06
    • 1970-01-01
    相关资源
    最近更新 更多