iOS 11 NavigationBar中的Logo和title

iOS 11 Logo and title in NavigationBar

我已经搜索和尝试了好几天,但由于这是一个新事物,所以可用的信息不多(或者我找不到)。

无论如何,我正在尝试使用 iOS 11 中的新 NavBar 功能,但我想在我的 [=13= 中同时放置徽标和大标题(每个 ViewController) ].类似于下面的屏幕截图:

如何实现这个?

侧面提示:

对于 iOS 10 中的相同 app 我将徽标设置为显示而不是 NavBar 中的 titleView 但现在在较新的版本中我们也想添加标题。

提前致谢

您是否尝试过为导航栏设置背景图片?像这样:

// Set Navigation bar background Image
let navBgImage:UIImage = UIImage(named: "[image.jpg]")!
self.navigationController!.navigationBar.setBackgroundImage(navBgImage, for: .default)

没有您的代码示例,很难说出您出了什么问题,但这确实有效:

override func viewDidLoad() {
    super.viewDidLoad()

    if #available(iOS 11, *) {
        navigationController?.navigationBar.prefersLargeTitles = true
        navigationItem.largeTitleDisplayMode = .always
        title = "Your title"
    }

    let titleImageView = NavigationImageView()
    titleImageView.image = UIImage(named: "yourImageName")
    navigationItem.titleView = titleImageView
}

编辑:要为您的标题视图设置自定义大小,您可以子类化您的 UIView (UIImageView) 并覆盖 sizeThatFits

class NavigationImageView: UIImageView {
    override func sizeThatFits(_ size: CGSize) -> CGSize {
        return CGSize(width: 50, height: 50)
    }
}