iOS11でnavigationItem.titleViewにセットしたViewの表示位置がずれる

guard let width = navigationController?.navigationBar.frame.size.width,
    let height = navigationController?.navigationBar.frame.size.height else {
    return
}

// NavigationBarのほぼ幅いっぱいに表示する(ただし少し余白はできる)
let rect = CGRect(x: 0, y: 0, width: width, height: height)

let titleView = MyTitleView(frame: rect)
navigationItem.titleView = titleView

NavigationBarの中にViewをセットしていたところで、iOS11ではずれて表示された。

uinavigationcontroller - iOS 11 navigationItem.titleView Width Not Set - Stack Overflow

上記回答にあるように、
View側で intrinsicContentSize を以下のようにオーバーライドすることで、ずれないで表示できた。

override var intrinsicContentSize: CGSize {
    return UILayoutFittingExpandedSize
}