У меня есть изображение в горизонтальном виде, а у изображения есть метка. Я установил цвет оттенка (скажем, желтый) при просмотре изображения на IB, и он хорошо отображался на изображении. Проблема, с которой я столкнулся, заключалась в том, что размер исходного изображения был больше, чем при просмотре изображения, и размер изображения не менялся (даже с режимом содержимого при просмотре изображения в формате Aspect Fit), поэтому часть изображения находилась вне стекового вида.
I изменил размер изображения и теперь вписывается в вид стека, но он не показывает цвет оттенка.
Ниже приведен код для изменения размера изображения:
func resize(scaledTo newSize: CGSize) -> UIImage {
UIGraphicsBeginImageContextWithOptions(newSize, false, 0.0)
self.draw(in: CGRect(origin: CGPoint.zero, size: CGSize(width: newSize.width, height: newSize.height)))
let newImage: UIImage = UIGraphicsGetImageFromCurrentImageContext()!
UIGraphicsEndImageContext()
return newImage
}
Код для установки нового изображения и еще раз добавление цвета оттенка:
var newImage = self.imageView.image?.resize(scaledTo: CGSize(width: 11, height: 11))
newImage?.withRenderingMode(.alwaysTemplate)
if #available(iOS 13.0, *) {
newImage?.withTintColor(UIColor(hex: "F0BC5B"))
}
self.imageView.tintColor = UIColor(hex: "F0BC5B")
self.imageView.backgroundColor = UIColor.clear
self.imageView.image = newImage
}
Я пробую это на устройстве iOS 13.2. Любая идея, почему цветовой оттенок из вида изображения не применяется к изображению?
Мне кажется, изображение после изменения размера все еще показывает свой первоначальный цвет - черный.