我需要知道是否可以在所有导航控制器上添加图像作为标题,这意味着每个具有导航栏的控制器都具有相同的图像标题。
我使用下一个代码在导航栏中将图像设置为标题,但是我必须在每个viewController上设置它,例如,其想法是在AppDelegate上将其设置为UINavigationBar.appereance()或类似名称。
let imageView = UIImageView(image: UIImage(named: "my_image.png")!)
imageView.contentMode = .scaleAspectFit
let titleView = UIView(frame: CGRect(x: 0, y: 0, width: 107, height: 30))
imageView.frame = titleView.bounds
titleView.addSubview(imageView)
self.navigationItem.titleView = titleView
因此,我们的想法是将此图像设置为每个控制器的默认标题,这样,我只需要配置一次即可。
那是可能的吗?如果没有,您认为我可以采用什么解决方案?
答案 0 :(得分:1)
标题视图是每个视图控制器的属性,而不是导航栏或导航控制器的属性。
因此,从一个UIViewController子类开始,该子类的导航项具有此标题视图,并使所有其他视图控制器成为该子类的子类。
答案 1 :(得分:0)
请尝试以下代码,
let logo = UIImage(named: "logo.png")
let imageView = UIImageView(image:logo)
self.navigationItem.titleView = imageView
如果这不起作用,请共享屏幕截图。