菜鸟教程小白 发表于 2022-12-13 04:16:58

iOS UIView 子类将透明文本绘制到背景


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

<ul>
<li>背景图片 View </li>
<li><code>IBOutlet UIView *ViewTest</code></li>
<li><code>IBOutlet UIlabel *labelTest alpha:0 style</code>(显示背景图片)</li>
</ul>

<p> <a href="http://s25.postimg.org/tkf1sa3x9/1122.png" rel="noreferrer noopener nofollow">http://s25.postimg.org/tkf1sa3x9/1122.png</a> </p>

<p><sub>我会说我更像是一名中级/早期高级 iOS 开发人员,所以请随意向我抛出一些疯狂的解决方案。我希望我必须重写 <code>drawRect</code> 才能做到这一点。</sub></p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>一种方法是使用图层蒙版。将文本渲染到图像上,并将该图像设置为图层的蒙版,并将该图层指定为 View 的蒙版。</p>

<pre><code>// Create your mask layer
CALayer* maskLayer = ;
maskLayer.frame = CGRectMake(0,0,yourMaskWidth ,yourMaskHeight);
maskLayer.contents = (__bridge id);

// Apply the mask to your uiview layer      
yourUIView.layer.mask = maskLayer;
</code></pre>

<p><code>myTextRenderedImage</code> 是您呈现纯文本的图像。</p></p>
                                   
                                                <p style="font-size: 20px;">关于iOS UIView 子类将透明文本绘制到背景,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/27673119/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/27673119/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: iOS UIView 子类将透明文本绘制到背景