导航栏按钮图像

Jas*_*son 15 uinavigationbar uinavigationcontroller ios swift

我正在使用此代码在导航栏上获取徽标.

override func viewDidAppear(animated: Bool) {

    let image = UIImage(named: "LogoWithTextSmaller.png")
    self.navigationItem.leftBarButtonItem = UIBarButtonItem(image: image, style: UIBarButtonItemStyle.Plain, target: nil, action: nil)
    }
Run Code Online (Sandbox Code Playgroud)

这很好,但徽标没有任何颜色 - 除了'蓝色'.是因为它是一个png文件.有什么我可以保留原始颜色

我这样做了:

self.navigationItem.titleView = UIImageView(image: image)
Run Code Online (Sandbox Code Playgroud)

并将图像带到导航栏上,颜色正确 - 但它位于中间,我想要它在左侧.

小智 28

您需要声明图像始终保持原始状态.所以添加如下代码

var image = UIImage(named: "image-name")
image = image?.withRenderingMode(.alwaysOriginal)
self.navigationItem.leftBarButtonItem = UIBarButtonItem(image: image, style:.plain, target: nil, action: nil)
Run Code Online (Sandbox Code Playgroud)