首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >遮罩视图,使其仅显示在闭合Bezier路径之外

问遮罩视图,使其仅显示在闭合Bezier路径之外
EN

Stack Overflow用户
提问于 2014-01-19 11:07:17
回答 1查看 122关注 0票数 0

我有一条封闭的Bezier路径。它当前以正常的方式屏蔽UIView,这意味着只有在路径边界内的视图部分是可见的。我现在已经决定了一个美学功能,如果有一种方法可以用同样的bezier路径来反面罩,那么它将非常容易实现。我的意思是,现在我想要一个不同的UIView,它目前在路径外完全可见,一旦它与贝塞尔路径相交就被切断。有没有办法将另一个UIView的掩码设置为Bezier路径的反方向?

EN

回答 1

Stack Overflow用户

发布于 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 (图像的红色视图)

代码语言:javascript
复制
*[self.view addSubview:view1];
*[self.view insertSubview:view2 aboveSubview:view1];
//now view2 is top of view1
*apply bezier path to view2 not view1.

希望这能有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21212728

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档