Будет сильно в помощь, если кто-то попробует кропнуть вот этим любое оригинальное портретное фото с камеры (или поделится своим методом кропа в квадрат с центрированием):
extension UIImage {
func crop() -> UIImage? {
guard let cgImage = cgImage?.cropping(to: CGRect(origin: CGPoint(x: 0, y: ((size.height-size.width)/2).rounded(.down)),
size: CGSize(width: size.width, height: size.width))) else { return nil }
return UIImage(cgImage: cgImage, scale: 1, orientation: imageOrientation)
}
}
я с таким не сталкивался, но для интереса погуглил, и как понял, не зависимо от конечных размеров картинки, в конструктор UIImage передают не конечный scale, а исходный, как и ориентацию. Попробуй, может поможет. То есть вместо scale:1 сделай scale:scale