You can create a custom view and set it as the titleView
of the navigationItem.
TitleView.xib
UIView
and create the layout as you wish.clear
.TitleView.swift
import UIKit
class TitleView: UIView {
@IBOutlet weak var imageView: UIImageView!
@IBOutlet weak var label1: UILabel!
@IBOutlet weak var label2: UILabel!
class func instanceFromNib() -> TitleView {
return UINib(nibName: "TitleView", bundle: nil).instantiate(withOwner: nil, options: nil)[0] as! TitleView
}
override var intrinsicContentSize: CGSize {
return UIView.layoutFittingExpandedSize
}
}
ViewController.swift
override func viewDidLoad() {
super.viewDidLoad()
self.navigationItem.titleView = TitleView.instanceFromNib()
}