Ios 如何在swift中更改除弹出视图外的总屏幕背景颜色

Ios 如何在swift中更改除弹出视图外的总屏幕背景颜色,ios,swift,xcode,uiview,uicolor,Ios,Swift,Xcode,Uiview,Uicolor,我无法创建saperate自定义popview。。所以我试过下面提到的一个答案 下面是情节提要视图层次结构 这是代码: } 现在,tableview和按钮不会透明显示。。只有popbg和popview将出现。。我错过什么了吗 事实上,我需要这样:总背景在一些黑暗的颜色和popupview高亮度在白色 使您的弹出视图全屏..有背景和子视图作为弹出在该背景上…所以你不需要改变任何东西,一旦你显示或隐藏弹出,它很容易实现。。。具有弹出式UIView的全屏UIView 您应该有一个名为MainPopUp

我无法创建saperate自定义popview。。所以我试过下面提到的一个答案

下面是情节提要视图层次结构

这是代码:

}

现在,tableview和按钮不会透明显示。。只有popbg和popview将出现。。我错过什么了吗

事实上,我需要这样:总背景在一些黑暗的颜色和popupview高亮度在白色


使您的弹出视图全屏..有背景和子视图作为弹出在该背景上…所以你不需要改变任何东西,一旦你显示或隐藏弹出,它很容易实现。。。具有弹出式UIView的全屏UIView

您应该有一个名为MainPopUpView的视图。。。在此视图中,您将添加两个UIView

背景视图。。。黑色,alpha为0.3 弹出窗口视图。。。显示实际的弹出窗口 所以MainPopUpView有两个视图

这是层次结构


使您的弹出视图全屏..有背景和子视图作为弹出在该背景上…所以你不需要改变任何东西,一旦你显示或隐藏弹出,它很容易实现。。。具有弹出式UIView的全屏UIView

您应该有一个名为MainPopUpView的视图。。。在此视图中,您将添加两个UIView

背景视图。。。黑色,alpha为0.3 弹出窗口视图。。。显示实际的弹出窗口 所以MainPopUpView有两个视图

这是层次结构

如果为视图提供alpha值, 视图的子视图的alpha值更改,包括popupView

如果为视图(包括popupView)提供背景色 视图的子视图的alpha值不变,包括popupView

popupView是视图的子视图,视图的alpha值影响其子视图的alpha

view.addSubview(popupView)
您当前的结构:

解决方案是,popupView不是视图的子视图,您可以使用它显示颜色的变化

需要容器视图才能与popupView分离

如果为视图提供alpha值, 视图的子视图的alpha值更改,包括popupView

如果为视图(包括popupView)提供背景色 视图的子视图的alpha值不变,包括popupView

popupView是视图的子视图,视图的alpha值影响其子视图的alpha

view.addSubview(popupView)
您当前的结构:

解决方案是,popupView不是视图的子视图,您可以使用它显示颜色的变化

需要容器视图才能与popupView分离


其他实现的方法,比如你的最终形象。。自定义pop控制器可避免这种情况

将popupView放在自定义viewController中,然后


其他实现的方法,比如你的最终形象。。自定义pop控制器可避免这种情况

将popupView放在自定义viewController中,然后


而不是添加和删除两个视图。。。更好的方法是使用一个具有bg和弹出窗口的视图……从描述中,我认为popupView只是一个小的UI小部件,而不是一个定制的UIAlertController。使用自定义pop控制器可以避免这种情况,并且无法教授问题所有者视图层次结构答案希望我为popupView创建另一个bg视图??是的popupView是一个小UI,仅在我点击按钮时显示??有没有其他方法可以达到我的最终形象。。自定义pop控制器如何避免这种情况??。。我已经用视图层次结构编辑了我的帖子。。请看一看,我在下面看到了答案,然后添加和删除了两个视图。。。更好的方法是使用一个具有bg和弹出窗口的视图……从描述中,我认为popupView只是一个小的UI小部件,而不是一个定制的UIAlertController。使用自定义pop控制器可以避免这种情况,并且无法教授问题所有者视图层次结构答案希望我为popupView创建另一个bg视图??是的popupView是一个小UI,仅在我点击按钮时显示??有没有其他方法可以达到我的最终形象。。自定义pop控制器如何避免这种情况??。。我已经用视图层次结构编辑了我的帖子。。请看下面我看到了一个答案我明白如果我改变视图alpha它也会影响PopupVView。。。所以你要我做什么我不明白。。我要为popupView再创建一个背景视图吗?你能详细解释一下吗?我不能创建一个自定义的popview。。。所以我创造了你的答案。。这里一切都很好。。但是侧面popView中的实际标签和按钮也会模糊为什么?我完全用你的答案编辑了我的帖子。。请看一下你需要的。。。mainpoop.backgroundcolor=.clearbg.backgroundcolor=.black和bg.alpha=0.3我知道如果我更改视图alpha,它也会影响popupvview。。。所以你要我做什么我不明白。。我要为popupView再创建一个背景视图吗?你能详细解释一下吗?我不能创建一个自定义的popview。。。所以我创造了你的答案。。一切都在这里
他工作得很好。。但是侧面popView中的实际标签和按钮也会模糊为什么?我完全用你的答案编辑了我的帖子。。请看一下你需要的。。。mainpoop.backgroundcolor=.clearbg.backgroundcolor=.black和bg.alpha=0.3
                -> backGround UIView full screen  (with alpha 0.3) 
   MainPopUpView 
               -> popUpView short & centre and shows actual content

view.addSubview(popupView)
RootView->Subviews //Changing RootView alpha effects Subviews.
// backgroundColorChangeContainerView add other views ( tableView ... )
view.addSubview(backgroundColorChangeContainerView)
view.addSubview(popupView)
 @IBAction func addAddressBtn(_ sender: Any) {
       present(PopupViewController(nibName: "PopupViewController", bundle: nil), animated: true) {}
 }