У меня есть настройка приложения в UITabBarController. Я пытался установить titleView в центре UINavigationBar ViewControllers UITabBarController. Ниже приведен код, который я использовал:
let logo = UIImageView(image: StyleManager.sharedInstance.logoImage)
logo.contentMode = .scaleAspectFit
let titleView = UIView(frame: CGRect(x: 0, y: 0, width: 100, height: 40))
logo.frame = titleView.frame
titleView.addSubview(logo)
self.navigationItem.titleView = titleView
Теперь этот код работает хорошо и устанавливает мой логотип в центре UINavigationBar. Но это приводит к задержке, когда я пытаюсь нажать на UITabBarItem, чтобы загрузить другой viewController. Теперь я вызываю этот код внутри ViewDidLoad viewControllers, может добавить подпредставление, как этот результат в отставании. И если да, то как мне отцентрировать мой логотип, чтобы не было задержки?
Обратите внимание, что ранее я непосредственно устанавливал изображение в качестве titleView элемента навигации и выполнял sizeToFit. Он работал хорошо, но с iOS 11 он не был ориентирован на меньшие устройства, поэтому я применил вышеуказанное исправление.