【发布时间】:2021-10-30 09:33:45
【问题描述】:
我需要我的应用程序中的几乎所有视图都具有透明背景,包括默认情况下具有不透明背景的 TabView 和 NavigationView。通过将以下代码添加到我的.onAppear() 函数中,我基本上能够通过将 UIView 的默认背景设置为.clear 来完成。
UIView.appearance().backgroundColor = .clear
但是,虽然这适用于大多数视图,但我注意到 Hosting View 仍保留其不透明背景。所以我想知道如何才能使这个视图的背景透明?
Here 是在将.clear 应用于 UIView 背景时对有问题视图的视图层次结构捕获。虽然我实际上已经设法使用Introspect 删除了这些视图的背景,但在实际设备上运行我的应用程序时,这种解决方法似乎无法正常工作(一些视图保持不透明,其他视图由于某种原因仅在切换后变得透明运行时的配色方案)。那么我还能如何做到这一点呢?
任何帮助或建议将不胜感激!
【问题讨论】:
-
试试
hostingController.view.isOpaque = falsehostingController.view.backgroundColor = UIColor.clear -
@RTXGamer 我还没有尝试过——我在哪里可以访问托管视图控制器?
-
不确定您如何在代码库中使用 HostingContoller,但添加了一个示例来给您一个想法。
标签: swift view swiftui uiview background