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 (@"is shown yes");
[ removeFromSuperview];
}
else
{
NSLog(@"not visible");
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 (@"is shown yes");
;
}
else
{
myTranslation = [ initWithFrame:CGRectMake(0, 330, 320, 150)];
NSLog(@"not visible");
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]