菜鸟教程小白 发表于 2022-12-13 00:13:30

ios - 突出显示时如何更改 UIControl 的大小?


                                            <p><p>我有一个 <code>UIControl</code> 子类,它在触摸时会改变外观和大小,有点像 iOS 键盘的按钮在触摸时会变成打字机手:</p>

<p> <img src="/image/B5Y94.png" alt="keyboard sample"/> </p>

<p>我不知道怎么写。这个想法是在突出显示默认按钮形状时绘制不同的形状:</p>

<pre><code>                  +---+
                  |   |
+---+               |   |
|   |-&gt; touch -&gt;|   |
+---+               +---+
</code></pre>

<p>但由于默认按钮小于突出显示的形状,因此较大的形状会被剪掉。我考虑了这些选项:</p>

<ul>
<li>在默认框架之外绘图。似乎不可能。</li>
<li>在突出显示时更改控件的大小。感觉很hacky且容易出错。</li>
<li>放大控件以适应更大的形状。感觉“错误”,我希望能够使用较小的默认形状的控件。</li>
</ul>

<p>对于这种情况有最佳实践吗?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>这里有一些方法:</p>

<ol>
<li><p>您可以在框架外绘制,您只需确保 <code>myView.clipsToBounds</code> 为 <code>False</code>。这将允许您在另一个 View 内的 View 边界之外绘制并绘制您想要的任何额外内容。</p></li>
<li><p>这可能是最干净的解决方案,但在我看来也有点“hacky”。另一种方法会很脏(如您所说)并重置帧大小。</p></li>
<li><p>最后一种方法是创建另一个 View (按下的键)并将其放在原始(未按下的键) View 的顶部。</p></li>
</ol>

<p>总而言之,这真的取决于您在 View 中绘制/显示的内容。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 突出显示时如何更改 UIControl 的大小?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/25064867/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/25064867/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 突出显示时如何更改 UIControl 的大小?