ios - UIViewController 背景图像跨越导航栏后面?

标签 ios swift swift4

我有一个有趣的问题,我不确定是否可以用标准方式解决:

我有一个 UIViewController,其 UIImageView 位于顶部,与容器的顶部空间齐平。标准的东西。

但是,我想要尝试做的是看看是否有办法获取它,以便图像也在导航栏后面运行(因此导航栏覆盖在背景图像的顶部)。

我的想法是这是不可能的,因为图像不能跨越两个 View Controller 。我当然可以将它放在一个 View Controller 上,甚至让导航栏有一个背景图像,但我不能让它同时包含相同的图像,对吗?

我认为实现这样的目标的唯一方法是隐藏我的导航栏,并制作我自己的“作弊”导航栏,该导航栏实际上驻留在 View Controller 中来模拟它。

任何想法或者这是否违反了基本原则。

编辑:尝试这两种建议后,最终会执行以下操作(在两种情况下): /image/WtGSN.jpg

所以它几乎就像将顶部栏设置为一张图像,将底部表格 View 设置为缩小的图像

有什么想法吗?

最佳答案

使导航栏透明以显示背景图像。将以下代码添加到您的导航栏扩展中。

func transparentNavigationBar() {
        self.navigationController!.navigationBar.setBackgroundImage(UIImage(),for: UIBarMetrics.default)
        self.navigationController?.navigationBar.shadowImage = UIImage()
        self.navigationController?.navigationBar.isTranslucent = true
        self.navigationController!.view.backgroundColor = UIColor.clear
        self.navigationController?.navigationBar.backgroundColor = UIColor.clear
    }

关于ios - UIViewController 背景图像跨越导航栏后面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53201887/

相关文章:

ios - 是否可以在没有 GPS 跟踪的情况下发送 Twitter 自动回复?

iOS按钮标题颜色不会改变

ios - 如何在 Swift 中声明返回自定义结构序列的方法

ios - 搜索栏过滤问题

swift3 - 无法使用 '[String : String]' 类型的索引为 'NSUserInterfaceItemIdentifier' 类型的值添加下标

ios - 如何将圆角半径添加到 UIView 周围的虚线边框

ios - CloudKit 中的记录不能超过 100 条

ios - 升级到 El-Capitan 后 Swift 编译器错误

swift - @State 变量的值不会改变

ios - 从附件工具栏中找出当前事件的文本字段