Swift/UIImageView

[SWIFT]배경 UI 사이즈에 맞게 이미지 스케일 계산하기

삽질중 2023. 6. 20. 15:20

화면 배경 UI에 이미지 사이즈 맞게 조정 

// 이미지 스케일 사이즈
func scaleSize(from imageSize: CGSize, to maxSize:CGSize) -> CGSize {
	let ratio: CGFloat
	if imageSize.width > imageSize.height {
		ratio = maxSize.width / imageSize.width
	} else {
		ratio = maxSize.height / imageSize.height
	}
        
	let scaledSize = CGSize(width: imageSize.width * ratio, height: imageSize.height * ratio)
	return scaledSize
}

 

[사용방법]

// 스크롤 뷰 프레임 사이즈
let scalingTargetSize = zoomView.frame.size
// 이미지 사이즈 및 맞추고자 하는 UI 배경 사이즈 전달하면 이미지가 스케일에 맞게 사이즈 계산됨
let scaledSize = scaleSize(from: self.image!.size, to: scalingTargetSize)
imageView.frame = CGRect(x: 0, y: 0, width: scaledSize.width, height: scaledSize.height)