Seems like a bug in iOS 11: https://forums.developer.apple.com/thread/82466
I temporarily executed this workaround:
private lazy var navBarActionButtonIOS11: UIButton = { button.addTarget(self.navTitleView, action: #selector(self.navTitleView.didTapView), for: .touchUpInside) return button }() [...] navigationItem.titleView = navTitleView if #available(iOS 11.0, *), let navBar = navigationController?.navigationBar { navBarActionButtonIOS11.removeFromSuperview() navBar.addSubview(navBarActionButtonIOS11) navBarActionButtonIOS11.center.x = navBar.center.x }
Another solution would be to simply assign the UIButton to the navigationItem.titleView function directly.
I hope Apple fix it soon!
source share