首页 > 解决方案 > 将 NavigationBar 子视图放在 NavigationBarItem 和标题后面

问题描述

我想在导航栏上的所有内容下方添加一个视图。我需要将它们作为子视图添加到我的 NavigationBar,以便它们出现在任何细节 ViewController 上。

这是我到目前为止在我的自定义 NavigationBar 子类中尝试过的(我在里面调用这个方法layoutSubviews()):

private var backgroundView = UIView()

backgroundView.frame = CGRect(x: 0, y: 0, width: 100, height: 70)
backgroundView.backgroundColor = .blue
backgroundView.alpha = 0.7
self.insertSubview(backgroundView, at: 0)

这就是我得到的:

带有子视图的导航栏

backgroundView出现在标题和 NavigationBarItem 的顶部

我能做些什么?

标签: swiftuinavigationbarsubviewlayoutsubviews

解决方案


根据苹果开发者论坛上的这篇文章,您可以在 NavigationBar 类中执行此操作(有效!):

self.subviews[0].insertSubview(backgroundView, at: 0)


推荐阅读