菜鸟教程小白 发表于 2022-12-13 11:43:51

ios如何删除某个定制的UIView


                                            <p><p>我有一个 alpha 0.5 的自定义 UIView。当出现另一个相同类型的 View 时,我想删除第一个 View ,我该怎么做?</p>

<p>到目前为止,我已经写了这个,我一直得到“不可见”的日志:</p>

<pre><code>MyCustomView *myTranslation = [initWithFrame:CGRectMake(0, 330, 320, 150)];

if (myTranslation.tag == 2)
{
    NSLog (@&#34;is shown yes&#34;);
    [ removeFromSuperview];

}   

else
{
    NSLog(@&#34;not visible&#34;);
    myTranslation.tag = 2;

}      

myTranslation.backgroundColor = ;

myTranslation.alpha = 0.5;

myTranslation.opaque = 0.5;

;
;
;
</code></pre></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>您没有得到您期望的结果,因为无论如何您都在实例化一个新 View 。该新 View 根本不会被标记(标记属性将设置为零),因此您会得到该结果。</p>

<p>您真正想要做的是尝试使用 <code>viewWithTag</code> 从现有 viewController 的 View 中获取 View 实例,如下所示。然后你检查你是否真的得到了一个匹配的 View 。只有当您没有获得有效 View (<code>myTranslation</code> 等于 <code>nil</code>)时,您才应该实例化一个新 View 并适本地标记它。</p>

<pre><code>MyCustomView *myTranslation = (MyCustomView *);
if (myTranslation != nil)
{
    NSLog (@&#34;is shown yes&#34;);
    ;
}   
else
{
    myTranslation = [ initWithFrame:CGRectMake(0, 330, 320, 150)];
    NSLog(@&#34;not visible&#34;);
    myTranslation.tag = 2;
}

...
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于ios如何删除某个定制的UIView,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/9366824/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/9366824/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios如何删除某个定制的UIView