【问题标题】:Clear a region so that views behind show through清除一个区域,以便显示后面的视图
【发布时间】:2016-07-31 02:30:49
【问题描述】:

好的,所以我有一个看起来像这样的基本视图:

我在它上面有一个视图,带有一些子视图,看起来像这样:

假设那些彩色曲线代表我在该叠加视图中的子视图。

但是我想展示我的基础层的某些部分。如果我有这样的矩形:

我希望它看起来像这样:

老实说,在实现这一点时,我有点不知所措。我的第一个想法是使用CGContextSetBlendMode(.Clear),但绘图是在子视图之后完成的,而不是在它们之上。我也不能直接渲染子视图的内容而不将它们添加到我的视图中,因为当它们没有被剪掉时,它们仍然需要交互。

在这些作品中扔扳手;该基础层是一个 WKWebView, 仍然需要交互。

我在这里被严重难住了。有什么帮助吗?

【问题讨论】:

  • 那么,面具呢?
  • ……我不知道那是一回事?

标签: ios swift uiview wkwebview


【解决方案1】:

我有点难以理解困难是什么......你似乎在描述一个面具。也许我错了;我可能会遗漏一些进一步的要求。但是有了面具,我很容易就能得到这个结果:

这是一个背景,里面有一些文字;在此之前,可以清楚地看到托管其他所有内容;曲线是清晰视图的子视图。清晰的视图有一个遮罩层,可以切掉曲线中的矩形孔。触摸不受清晰视图的影响,因为触摸“穿过”清晰视图;它只是用来承载面具(和曲线)。

【讨论】:

  • 是的,我不知道面具的存在。不知道为什么考虑到图层蒙版我不搜索那个词正是我在 Photoshop 中实现它的方式……把它归结为一个脑残:P
  • 在我的书中更多关于屏蔽层:apeth.com/iOSBook/ch16.html#_shadows_borders_and_more 当然,视图也有一个层,因此视图也适用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-06-09
  • 2017-03-03
  • 1970-01-01
  • 2011-10-21
  • 2011-10-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多