swift 中第二个 运行 的透明度(alpha)被移除

Transparency(alpha) is removed from second run in swift

我正在通过以下代码加载子视图:

HideView.backgroundColor = UIColor.clearColor()
var loadingView = UIView (frame: CGRectMake(120, 190, 90, 90));
loadingView.center = HideView.center
loadingView.backgroundColor = UIColor(red:0.76, green:0.76, blue:0.76, alpha:0.9)
loadingView.clipsToBounds = true;
loadingView.layer.cornerRadius = 10.0
loadingView.layer.shouldRasterize = true
HideView.addSubview(loadingView)

以上代码运行正常,我们可以看到背景如下:

但是当这个屏幕子视图再次出现时(从第二次开始)透明度消失如下:

您将 'loadingView' 添加到 'HiddenView' 两次。这就是为什么它在 2 日 运行 看起来被封锁了。

相反,确保只添加一次。

HideView.backgroundColor = UIColor.clearColor()
if (!addedLoadingView) { // Or anything alike...
    addedLoadingView = YES
    var loadingView = UIView (frame: CGRectMake(120, 190, 90, 90));
    loadingView.center = HideView.center
    loadingView.backgroundColor = UIColor(red:0.76, green:0.76, blue:0.76, alpha:0.9)
    loadingView.clipsToBounds = true;
    loadingView.layer.cornerRadius = 10.0
    loadingView.layer.shouldRasterize = true
    HideView.addSubview(loadingView)
}