我有一条封闭的Bezier路径。它当前以正常的方式屏蔽UIView,这意味着只有在路径边界内的视图部分是可见的。我现在已经决定了一个美学功能,如果有一种方法可以用同样的bezier路径来反面罩,那么它将非常容易实现。我的意思是,现在我想要一个不同的UIView,它目前在路径外完全可见,一旦它与贝塞尔路径相交就被切断。有没有办法将另一个UIView的掩码设置为Bezier路径的反方向?
发布于 2014-01-20 18:41:37
假设必须屏蔽的视图实例是颜色(mview -red maskedView)。
假设在这个maskedView下面有一个绿色(bview-backgroundView)。
如果只遮罩视图,则maskedView路径内的区域将可见,路径外的区域将用backGroundView填充。

所以,我们说mView是被屏蔽的,而bview是在背景中。另一种说法是,bView在前面,而mView在bView下面。即使我们对mview应用mask,屏幕也会显示bView是反屏蔽的。
因此,我们创建了这样一种反掩蔽视图的错觉。
编程说明:
view1 -防遮罩此视图(图像的绿色视图)
view2 - backgroundView (图像的红色视图)
*[self.view addSubview:view1];
*[self.view insertSubview:view2 aboveSubview:view1];
//now view2 is top of view1
*apply bezier path to view2 not view1.希望这能有所帮助。
https://stackoverflow.com/questions/21212728
复制相似问题