Как установить изображение в качестве заголовка на всех панелях навигации в Swift? - PullRequest
0 голосов
/ 08 мая 2019

Мне нужно знать, возможно ли добавить изображение в качестве заголовка на все навигационные контроллеры, это означает, что каждый контроллер с навигационной панелью имеет одинаковое название изображения.

Я использовал следующий кодчтобы установить изображение в качестве заголовка на панели навигации, но я должен установить его для каждого 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

Так чтоИдея состоит в том, чтобы установить этот образ в качестве заголовка по умолчанию для каждого контроллера, поэтому мне просто нужно будет настроить его один раз.

Это возможно?Если нет, как вы думаете, какое возможное решение я могу подать?

Ответы [ 2 ]

1 голос
/ 08 мая 2019

Представление заголовка является свойством каждого контроллера представления, а не панели навигации или контроллера навигации.

Итак, начните с подкласса UIViewController, элемент навигации которого имеет это представление заголовка, и сделайте все ваши другие контроллеры представления подклассами этого.

0 голосов
/ 08 мая 2019

Пожалуйста, попробуйте ниже код,

let logo = UIImage(named: "logo.png")
let imageView = UIImageView(image:logo)
self.navigationItem.titleView = imageView

, если это не работает, поделитесь снимком экрана.

...