我在UITabBarController中设置了应用程序。我一直试图在UITabBarController的ViewControllers的UINavigationBar的中心设置titleView。下面是我使用的代码:
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时,这会导致滞后。现在,我在viewControllers的ViewDidLoad内部调用此代码,可以在滞后中添加类似此结果的子视图。如果是的话,我应该如何将徽标居中,以免滞后。
请注意,我之前直接将imageview设置为navigationItem的titleView并执行sizeToFit。它运行良好,但是在iOS 11上,它并没有集中在较小的设备上,因此我应用了上述修复程序。