swift - 将 NavigationBar subview 放在 NavigationBarItem 和标题后面

标签 swift uinavigationbar subview layoutsubviews

我想在导航栏上的所有内容下方添加一个 View 。我需要将它们作为 subview 添加到我的导航栏,以便它们出现在任何详细 View Controller 上。

这是我迄今为止在自定义 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)

这就是我得到的:

navigationBar with subview

backgroundView 出现在标题和 NavigationBarItem 的顶部

我能做什么?

最佳答案

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

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

关于swift - 将 NavigationBar subview 放在 NavigationBarItem 和标题后面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59085151/

相关文章:

ios - 当我将透明设置为否时,双击导航栏

ios - 如何创建用于导航栏和 subview 的自定义后退按钮

ios - 添加到 ImageView 的 subview 不合适

ios - 在 SwiftUI 中获取文本的宽度

ios - 使用 Xib 在 Tableview header 中快速重新加载 CollectionView

xcode - NSTimer:浮点值无法转换为 UInt8,因为它大于 UInt8.max

swift - 如何用我的 tableView 填充 View 的顶部?

ios - 大 subview 以适应另一个小 subview

iphone - UIViewController显示两个UITableView

ios - 将 GMT 时间对象转换为本地时间 iOS