iOS:在不同视图层次结构的视图顶部应用颜色效果

iOS:在不同视图层次结构的视图顶部应用颜色效果,ios,objective-c,swift,Ios,Objective C,Swift,我正在搜索一个代码示例(如果这个想法可能的话)如何产生影响,我现在将尝试解释: 假设我有一个视图(a),带有背景色和标签。标签可以是黑色或白色。现在,从不同的视图层次中,我有一个覆盖视图(B),它位于带有标签的彩色视图的顶部(不能更改标签的颜色)。是否可以对当前视图(B)应用效果,以便背景视图(A)中的每种颜色都将更改为不同的颜色。很难描述那种行为。它类似于photoshop中的色调/饱和度叠加,但它应该适用于标签的黑白颜色(这很重要)。我希望这可以在不拍摄快照和任何图像的情况下完成,因为标签是

我正在搜索一个代码示例(如果这个想法可能的话)如何产生影响,我现在将尝试解释:

假设我有一个
视图(a)
,带有背景色和标签。标签可以是黑色或白色。现在,从不同的视图层次中,我有一个
覆盖视图(B)
,它位于带有标签的彩色视图的顶部(不能更改标签的颜色)。是否可以对当前
视图(B)
应用效果,以便背景
视图(A)
中的每种颜色都将更改为不同的颜色。很难描述那种行为。它类似于photoshop中的色调/饱和度叠加,但它应该适用于标签的黑白颜色(这很重要)。我希望这可以在不拍摄快照和任何图像的情况下完成,因为标签是动态的

可以设置具有一定透明度的
(B)视图的背景色
,使标签不完全为黑色或白色,然后在其上应用效果

如果有人能从这里引导我,或者知道可能的代码示例,我将不胜感激。我不知道这个问题的关键词,所以我可以自己搜索更多

Swift是首选,但我也可以将Objective-C翻译成Swift

更新:


我想我在这里搜索的是混合模式,如果不降低性能,这是不可能的。:/如果我错了,请纠正我。

我建议您考虑使用名为的CIFilter。它允许您将单色图像映射到新颜色。

这里的问题是背景视图是动态的,可以调整大小,标签可以在未知时间更改,因此我无法捕获图像并将效果应用到捕获的图像上:(现在我正试图在顶部放置一个允许透明度的SKView和一些混合精灵,但不确定这是否会奏效。我明白了,是的,这是iOS上CALayer的一个限制。SpriteKit确实允许实时过滤器,但我认为过滤器只适用于子节点。祝你好运!SKSpriteNode混合似乎只在自己的节点层次中起作用chy,不影响可见背景视图层次结构。太好了,不可能是真的。