Swift: изменение размера изображения убрало оттенок цвета - PullRequest
0 голосов
/ 15 апреля 2020

У меня есть изображение в горизонтальном виде, а у изображения есть метка. Я установил цвет оттенка (скажем, желтый) при просмотре изображения на 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. Любая идея, почему цветовой оттенок из вида изображения не применяется к изображению?

Мне кажется, изображение после изменения размера все еще показывает свой первоначальный цвет - черный.

...