将子视图添加到具有蒙版视图的视图中会从其中删除蒙版

时间:2017-05-01 09:04:02

标签: ios swift uiview mask addsubview

正如标题所示,我有self.view我将mask(链接)属性添加到另一个视图中,但当我使用self.viewaddSubview添加更多视图时面具被删除。这是为什么?感谢

我最初遇到this问题并意识到mask视图正在发布。

在我的示例中,当我点按UIImageView中的屏幕时,我添加了动画UIBezierPath的{​​{1}}动画。

这是代码:

addView

1 个答案:

答案 0 :(得分:0)

你的面具就在那里,它只是它的视图大小的2.1倍,因此它总是覆盖整个事物,所以你可以看到一切。你的代码中有一个错误:

if pan.state == .began {
        if delta > 0 {
            panStarted = true
            circle.updateSize(-delta)
        }

.began处永远不会有翻译,因此这段代码永远不会被命中,这意味着您的处理程序中没有任何其他内容被处理。此代码应该只设置panStarted标志。

你需要拖动很长的路才能让遮罩生效,当你释放时,它会弹回到视图大小的2.1倍。

通过将圆圈添加为子视图而不是蒙版,您可以非常轻松地看到这一点。用2.1替换所有0.5值会产生这种效果:

enter image description here

总而言之,你的面具没有任何问题,但使用周围的代码。