Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/101.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 更改自定义导航栏图像的颜色_Ios_Swift_Uiimage_Uinavigationbar - Fatal编程技术网

Ios 更改自定义导航栏图像的颜色

Ios 更改自定义导航栏图像的颜色,ios,swift,uiimage,uinavigationbar,Ios,Swift,Uiimage,Uinavigationbar,我有一个带有UIImage的导航栏。我想改变它的颜色,但当我使用我的代码时,使用默认的黑色。我的代码如下 override func viewDidLoad() { super.viewDidLoad() let imageView = UIImageView(frame: CGRect(x: 0, y: 0, width: 26, height: 26)) imageView.contentMode = .ScaleAspectFit let image =

我有一个带有UIImage的导航栏。我想改变它的颜色,但当我使用我的代码时,使用默认的黑色。我的代码如下

override func viewDidLoad() {
    super.viewDidLoad()

    let imageView = UIImageView(frame: CGRect(x: 0, y: 0, width: 26, height: 26))
    imageView.contentMode = .ScaleAspectFit
    let image = UIImage(named: "pinpoint.png")
    imageView.image = image
    navigationItem.titleView = imageView
    imageView.image = UIImage(named: "pinpoint.png")!.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal)
    imageView.tintColor = UIColor(red: 22.0/255.0, green: 40.0/255.0, blue: 86.0/255.0, alpha: 1.0)
}
我想使用的颜色在代码段的最后一行。

您可以这样尝试:

 override func viewDidLoad() {

    super.viewDidLoad()

    let imageView = UIImageView(image: UIImage(named:"pinpoint.png")!.imageWithRenderingMode(UIImageRenderingMode.AlwaysTemplate))
    imageView.contentMode = .ScaleAspectFit
    navigationItem.titleView = imageView
    imageView.tintColor = UIColor(red: 22.0/255.0, green: 40.0/255.0, blue: 86.0/255.0, alpha: 1.0)

}

希望这有帮助。:)

要使用着色颜色,您需要使用始终模板渲染模式完美!谢谢拉米特:)这解决了什么问题?最后一行没有什么变化。回答者所做的唯一一件事就是更改加载文件的名称,删除两行多余的代码,因为您设置了两次图像属性,并删除了帧大小。确切地说,唯一重要的事情是渲染模式,如果使用原始渲染,您可以更改图像的色调。我将其更改为AlwaysTemplate,并编辑代码以便于理解。