[swift] 킹피셔를 사용하여 이미지 다운로드 중에 썸네일 이미지를 표시하는 방법은?
-
먼저 Kingfisher 라이브러리를 프로젝트에 추가합니다. Cocoapods를 사용하는 경우 Podfile에 다음 줄을 추가하고
pod install
을 실행합니다.pod 'Kingfisher'
-
다운로드 할 원본 이미지의 URL을 가져옵니다.
let imageUrl = URL(string: "https://example.com/image.jpg")
-
Kingfisher를 사용하여 이미지를 다운로드하고 표시하는 썸네일 이미지뷰를 만듭니다.
import Kingfisher let thumbnailImageView = UIImageView() thumbnailImageView.kf.setImage( with: imageUrl, options: [ .downloader(ImageDownloader(name: "thumbnail")), .processor(DownsamplingImageProcessor(size: CGSize(width: 100, height: 100))), .cacheSerializer(DefaultCacheSerializer.default) ], completionHandler: { result in switch result { case .success(let value): print("Thumbnail image downloaded successfully: \(value.source.url?.absoluteString ?? "")") case .failure(let error): print("Failed to download thumbnail image: \(error.localizedDescription)") } } )
이 코드에서
thumbnailImageView
는 다운로드 할 썸네일 이미지를 표시하는 UIImageView입니다.imageUrl
은 다운로드 할 원본 이미지의 URL입니다. 코드는 Kingfisher를 사용하여 이미지를 비동기적으로 다운로드하고 표시하며, 썸네일 생성을 위해 DownsamplingImageProcessor를 사용합니다. 이 코드에서는 “thumbnail”이라는 이름의 ImageDownloader를 사용하여 다운로드합니다.
위의 코드를 사용하면 이미지가 다운로드되는 동안 임시로 생성 된 썸네일 이미지가 표시될 것입니다. 다운로드가 완료되면 썸네일 이미지가 제거되고 원본 이미지가 표시됩니다.
Kingfisher의 공식 문서에서 더 많은 사용 예제와 자세한 내용을 찾을 수 있습니다: Kingfisher GitHub Repository