서버에서 이미지의 크기 or 가로세로 비율이 고정이 아니다.
이미지의 비율대로 imageView 가로 세로 비율을 조정해야 된다.
이럴 때 사용할 수 있습니다.
목차
- 방법
- 코드
방법
- 이미지 url로 이미지 가져오기
- 가져온 이미지 size 파악
- size 비율대로 imageView 크기 조정
코드
간편하게 구현 가능한 Kingfisher라는 라이브러리를 사용해봤습니다.
import UIKit
import Kingfisher
extension UIImageView {
// 1. url로 이미지 가져오기
func setImage(with urlString: String, completion: ((CGSize)->())? = nil) {
let url = URL(string: urlString)
self.kf.indicatorType = .activity
self.kf.setImage(
with: url,
options: []) {
result in
switch result {
case .success(let value):
// 2. 가져온 이미지 size 파악
completion?(value.image.size)
case .failure(let error):
print(error)
}
}
}
}
// 3. size 비율대로 imageView 크기 조정
imageView.setImage(with: "String 형식의 url 입력", completion: { imageSize in
// 여기에서 imageSize로 imageView의 AspectRatio 비율을 변경!
})
반응형
'IOS Swift' 카테고리의 다른 글
iOS Deep Link, Push Notification 시뮬레이터에서 테스트 하기 (2) | 2024.02.02 |
---|---|
[Swift] Protocol - 프로토콜이란? (0) | 2023.10.10 |
[iOS 13+] SwiftUI 공식문서로 공부하기 (0) | 2023.08.06 |
IBDesignable, IBInspectable 알아보기 (2) | 2023.07.16 |
Xcode Cloud (2) - Work flow (0) | 2023.07.02 |