Как установить пользовательское изображение программно и UIBarButtonItem - PullRequest
0 голосов
/ 05 апреля 2019

У меня проблема с назначением пользовательского изображения для UIBarButtonItem, основная проблема заключается в том, что изображение появляется в виде белого квадрата при создании кнопки. вот мой код:

fileprivate func configureNavigationBar() {
        tabBarController?.navigationItem.title = lot.name
        let exportImg: UIImage = UIImage(named: "action.png")!
        let addButton = UIBarButtonItem(barButtonSystemItem: .add, target: self, action: #selector(showCreationView(_:)))
        let exportByEmail = UIBarButtonItem(image: exportImg, style: .done, target: self, action: #selector(exportDataByEmail(_:)))
        tabBarController?.navigationItem.rightBarButtonItems = [exportByEmail,addButton]
    }

Проблема с exportByEmail , изображение находится в переменной exportImg , добавленной из моих активов:

image1

Результат, полученный из моего кода: image2

1 Ответ

1 голос
/ 05 апреля 2019

Фон вашего изображения должен быть прозрачным, и вы всегда можете установить оригинальный режим рендеринга на изображение, чтобы оно отображалось без изменений следующим образом

let exportByEmail = UIBarButtonItem(image: exportImg.withRenderingMode(.alwaysOriginal), style: .done, target: self, action: #selector(exportDataByEmail(_:)))
...