OStack程序员社区-中国程序员成长平台

标题: iOS UIView 子类将透明文本绘制到背景 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 04:16
标题: iOS UIView 子类将透明文本绘制到背景

我想在 UIView 上将文本绘制到我的子类上,以便文本从形状中剪切出来,并显示 View 背后的背景,就像在此处找到的 OSX Mavericks Logo 中一样。

http://s25.postimg.org/tkf1sa3x9/1122.png

我会说我更像是一名中级/早期高级 iOS 开发人员,所以请随意向我抛出一些疯狂的解决方案。我希望我必须重写 drawRect 才能做到这一点。



Best Answer-推荐答案


一种方法是使用图层蒙版。将文本渲染到图像上,并将该图像设置为图层的蒙版,并将该图层指定为 View 的蒙版。

// Create your mask layer
CALayer* maskLayer = [CALayer layer];
maskLayer.frame = CGRectMake(0,0,yourMaskWidth ,yourMaskHeight);
maskLayer.contents = (__bridge id)[myTextRenderedImage CGImage];

// Apply the mask to your uiview layer        
yourUIView.layer.mask = maskLayer;

myTextRenderedImage 是您呈现纯文本的图像。

关于iOS UIView 子类将透明文本绘制到背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27673119/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4