透明子视图控制器的视图

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了透明子视图控制器的视图相关的知识,希望对你有一定的参考价值。

我在父视图控制器中创建一个子视图控制器,并使用下面的代码显示它 -

    self.addChildViewController(childVC)

    childVC.view.frame = self.view.bounds

    self.view.addSubview(childVC.view)

    childVC.view.autoresizingMask = [.flexibleWidth,.flexibleHeight]

    childVC.didMove(toParentViewController: baseVC)

子视图控制器只是在中间显示200 X 300图像视图。我希望子视图控制器模糊父视图控制器的视图并显示这个不透明的图像视图。但是,无论我做什么,我似乎无法让它显示底层父视图控制器的内容。我已经在子视图控制器的viewDidLoad中尝试了以下内容 -

view.backgroundColor = UIColor.black.withAlphaComponent(0.5)

我在这里错过了什么?有更好的方法吗?子视图控制器的目的是通过模糊父视图控制器的内容来封装图像预览逻辑,并在其视图的中心显示UIImageView。

答案

尝试使用ChildVC.backgroundColor = UIColor.black.withAlphaComponent(0.5)。此代码使子视图显示为半透明。

希望这可以帮助。

另一答案

创建一个新的ViewController作为ChildViewController

ChildViewControllerParentViewController提供segue。

property之后设置

  • 你必须选择Presentation作为Over current context
  • 您还可以根据您的要求更改过渡

见下图

enter image description here

另一答案

将childViewController视图的背景颜色设置为您想要的颜色,并将其不透明度设置为50%或60%,无论您想要什么。

这将显示具有模糊效果的父视图。

另一答案

我最初的解决方案

view.backgroundColor = UIColor.black.withAlphaComponent(0.5)

工作中。我的父视图控制器的视图是白色的,具有非常稀疏的细节,因此我假设父视图不可见,愚蠢地忽略了我。

以上是关于透明子视图控制器的视图的主要内容,如果未能解决你的问题,请参考以下文章

带有非透明子视图的 iOS 8 透明视图

拖动底部子视图之一时平滑更新顶部子视图(iOS)

UIControl 子类 - 如何停止触摸事件流?

htmlcss和js原生写一个模态弹出框,顺便解决父元素半透明子元素不透明效果

从另一个片段的其他视图控制片段的视图

从视图/控制器获取 pimcore 片段名称