在弹出窗口中显示iOS中的黑色透明背景

在弹出窗口中显示iOS中的黑色透明背景,ios,swift,transparent,uiactionsheet,Ios,Swift,Transparent,Uiactionsheet,我需要在弹出窗口下方添加黑色半透明视图,这样可以覆盖背面的所有内容,并在弹出窗口关闭时删除。就像我们在popover中为iPad或Actionsheet所做的那样 这就是我想要实现的形象: 如果您看到透明视图,它也位于状态栏和选项卡栏的上方 这是我为实现它而编写的代码: bgView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, [UIScreen mainScreen].applicationFrame.size.width ,[UIScr

我需要在弹出窗口下方添加黑色半透明视图,这样可以覆盖背面的所有内容,并在弹出窗口关闭时删除。就像我们在popover中为iPad或Actionsheet所做的那样

这就是我想要实现的形象:

如果您看到透明视图,它也位于状态栏和选项卡栏的上方

这是我为实现它而编写的代码:

bgView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, [UIScreen mainScreen].applicationFrame.size.width ,[UIScreen mainScreen].applicationFrame.size.height)];
bgView.center = self.view.center;
bgView.backgroundColor = [UIColor blackColor];
bgView.alpha = 0.70;  
-(void)showDatePicker:(InvoiceDateCell*)带DatePickerView的单元格:(DatePicker*)日期视图{ [self.view insertSubview:bgView belowSubview:dateView]; }

但是,这不包括状态栏,有时甚至不包括导航栏

任何指针,这是如何在iOS中实现的。它在iOS中非常常用。

Swift 4/Swift 5

let containerView = transitionContext.containerView

// Backdrop
dimmedView.backgroundColor = .black
dimmedView.alpha = 0.0
containerView.addSubview(dimmedView)
dimmedView.frame = containerView.bounds

// Back animation
self.dimmedView.alpha = 0.8

您可以用另一种方式来完成,您需要为弹出窗口创建一个新的viewController,在此viewController中,您需要将背景颜色设置为黑色,alpha为0.5,并且您还需要在viewController的中心创建一个视图作为弹出视图

注意:您需要设置此viewController的某些属性,如下图所示


现在,您需要在需要弹出窗口时显示此视图控制器,并在需要隐藏弹出窗口时关闭它

尝试bgView.frame=self.view.bounds;您可能必须将视图添加到应用程序窗口,然后,我必须将弹出窗口添加到bgView?的顶部。。。需要尝试,但正如我记得的,我之前尝试过,但它不起作用……在swift中它会是什么?它真的是UIVewController的子类吗?