Не удается обновить изображение titleView в приложении Delegate (Swift)
Я хочу, чтобы логотип присутствовал во всем приложении. У всего моего приложения есть встроенный контроллер навигации, поэтому я решил, что могу установить это изображение в делегате приложения следующим образом:
let logo = UIImage(named: "logo")
let imageView = UIImageView(image:logo)
UINavigationBar.appearance().topItem?.titleView = imageView
Но это не похоже на работу. Есть ли что-то, что я делаю не так?
1 ответ
Решение
Вы не можете достичь этого, используя appearance()
API.
Вместо этого вы должны либо предоставить представление изображения для представления заголовка каждого элемента навигации контроллера, либо вы можете создать подкласс UINavigationBar
добавить представление изображения, которое всегда будет там, независимо от того, что находится в элементе навигации. Затем установите названия всех ваших контроллеров на ноль / пустую строку.