Неверное отображение UIImage - PullRequest
0 голосов
/ 19 июня 2019

Я использую пользовательский актив изображения для элемента левой кнопки панели навигации, но отображается неверное изображение. В моей папке Assets.xcassets загружено это изображение:

expected back button image

И в моем viewWillAppear методе для контроллера представления я выполняю этот код:

self.navigationItem.leftBarButtonItem = UIBarButtonItem(image: UIImage(named: "back"), style: .plain, target: self, action: #selector(self.backButtonSelected))

Но когда я запускаю эту сборку, я получаю вместо этого изображение:

actual back button image

Я искал везде и не могу найти это изображение нигде в моем коде, и это даже не заднее изображение Apple по умолчанию.

Просто чтобы заметить: это использование не соответствует действительности, и будет отображаться правильное изображение. Не совсем уверен, как давно эта проблема началась, но, должно быть, это было около выпуска Xcode 10.2

Ответы [ 2 ]

0 голосов
/ 19 июня 2019

не могу найти это изображение нигде в моем коде

Это не будет в вашем коде .Он находится в вашем каталоге ресурсов или в комплекте приложений (посмотрите в Project Navigator что-то под названием back.png ).Если он находится в комплекте приложений, он переопределит каталог ресурсов.

В любом случае это, конечно, не появляется из ниоткуда.Поверьте мне, у вас есть это изображение в вашем проекте, где-то.

0 голосов
/ 19 июня 2019

Попробуйте определить кнопку и использовать ее в UIBarButtonItem инициализаторе, она должна быть:

let btn = UIButton(type: .custom)
btn.setImage(UIImage(named: "back"), for: .normal)
btn.addTarget(self, action: #selector(self.backButtonSelected), for: .touchUpInside)
let item = UIBarButtonItem(customView: btn)

self.navigationItem.leftBarButtonItem = item

Но вашей проблемой может быть имя вашего изображения. Перед тем, как попробовать мое решение, попробуйте изменить имя изображения на arrow_back или любое другое.

...