В Swift 3, когда я пытаюсь программно изменить цвет изображения, загруженного из ресурсов, вот так:
let imageView = UIImageView()
let image = UIImage(named: "imageFromAssets")?.withRenderingMode(.alwaysTemplate)
imageView.contentMode = .scaleAspectFit
imageView.tintColor = GREEN_UICOLOR // Change to custom green color
imageView.image = image
Изображение отображается в виде квадратного блока ниже:
Однако самое смешное, что это не всегда происходит. С некоторыми другими изображениями в активах это работает и меняет оттенок на зеленый:
Почему здесь противоречивое поведение? И вообще, как мне добавить шаблонное изображение в ресурсы и иметь возможность программно изменить его цвет? Я понимаю, что когда я не изменяю изображение на шаблонное изображение, оно работает, но я не могу этого сделать, потому что хочу изменить оттенок изображения.