Недавно я начал работать со swift. У меня есть функция изменения размера изображения в одном быстром файле, и я хотел вызвать ее в другом быстром файле. Вот функция, которая была добавлена в класс UIImage:
public extension UIImage{
class func scalePreservingAspectRatio(targetSize: CGSize) -> UIImage {
let uimageview = UIImage()
let widthRatio = targetSize.width / uimageview.size.width
let heightRatio = targetSize.height / uimageview.size.height
let scaleFactor = min(widthRatio, heightRatio)
let scaledImageSize = CGSize(
width: uimageview.size.width * scaleFactor,
height: uimageview.size.height * scaleFactor
)
let renderer = UIGraphicsImageRenderer(
size: scaledImageSize
)
let scaledImage = renderer.image { _ in
uimageview.draw(in: CGRect(
origin: .zero,
size: scaledImageSize
))
}
return scaledImage
}
}
, поэтому, когда я хочу вызвать эту функцию в другом файле, чтобы изменить размер «myimage», я думаю, мне следует написать вот так:
let image = UIImage(named: "myimage")
let targetSize = CGSize(width: 100, height: 100)
let scaledImage = image.UIImage.scalePreservingAspectRatio(targetSize: targetSize)
но, добавив 'image' перед UIImage.scalePreservingAspectRatio (), он не распознает функцию и выдает ошибку: Значение типа 'UIImage?' не имеет члена "UIImage". Поэтому я не знаю, как использовать свое изображение для этой функции в другом файле.