我想在UIView
上的子类上绘制文本,以便从文本中剪切出文本,并在视图后面显示背景,就像在此处找到的OSX Mavericks徽标一样。
IBOutlet UIView *ViewTest
IBOutlet UIlabel *labelTest alpha:0 style
(显示背景图片)http://s25.postimg.org/tkf1sa3x9/1122.png
我想说我是一个中级/早期高级iOS开发人员,所以请随意向我提出一些疯狂的解决方案。我希望我必须覆盖drawRect
才能执行此操作。
答案 0 :(得分:1)
一种方法是使用图层蒙版。将文本渲染到图像上,并将该图像设置为图层的蒙版,并将该图层指定为视图的蒙版。
// 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
是您呈现纯文本的图像。