【问题标题】:Swift Navigation Controller View with transparent background具有透明背景的 Swift 导航控制器视图
【发布时间】:2017-01-18 05:39:52
【问题描述】:

如何呈现具有透明背景的UINavigationController。没有导航栏的常规视图工作正常,但是当我将 navigationBar 添加到相同的代码时,我得到一个黑屏而不是 .clear

主视图控制器

let vc = NewRquestViewController()
        vc.modalPresentationStyle = .overCurrentContext
        vc.mapView = self.mapView
        let nvc = UINavigationController(rootViewController:vc)

        self.present(nvc, animated: true, completion: nil)

第二个视图

view.isOpaque = false
        self.view.backgroundColor = .clear

【问题讨论】:

  • 请您详细说明您的问题以获得更好的想法。

标签: ios swift xcode


【解决方案1】:

将颜色设置为 .clear 时出现的黑屏是 UIWindow,因为导航栏没有您想象的背景。它是第一层 - 与您为背景放置的第一个视图相同 - 因此,将背景颜色设置为 .clear 将导致黑色。

我的解决方案是用 navBar 替换 navigationController(我使用 segue 在控制器之间进行导航)并将其样式设置为默认值,选中半透明框并将 alpha 设置为 0.2 或类似的值,唯一的问题我还必须解决的是 alpha 正在影响 navigationItem,我不知道如何处理。如果我能找到解决方案,我会告诉你的。

【讨论】:

  • @ankydocky 自定义导航栏也不允许推送新的视图控制器。
猜你喜欢
  • 2016-01-11
  • 1970-01-01
  • 2015-02-20
  • 1970-01-01
  • 1970-01-01
  • 2021-11-21
  • 1970-01-01
  • 1970-01-01
  • 2010-10-25
相关资源
最近更新 更多