Old_SWIFT(221012)/라이브러리이야기

Kingfisher 다루기

KataRN 2022. 3. 22. 00:18
반응형

안녕하세요. KataRN입니다.

 

오늘은 Kingfisher에 대해서 알아보도록 하죠

 

Kingfisher 원격저장소(특정 URL 주소)에 있는 이미지를 앱 내에서 보이게 해주는 라이브러리입니다.

 

보통 이미지를 처리할때 비동기로 처리하다보니 복잡해지고 코드가 지저분해집니다. 쉽고 클린한 코드를 위해 사용합니다.

그 밖에도 Kingfisher는 이미지를 다운로드하여 캐시하기 때문에 이미지 비동기호출에 대해 걱정하실 필요가 없습니다.

한번 캐시된 이미지는 다음번 호출에 더 빠르게 보여지는 것도 강점입니다.

 

사용법

코코아팟 설치부터 할게요.(pod 'Kingfisher')

참고링크 : https://katarnios.tistory.com/23

 

CocoaPods(코코아팟) 사용법(쉬움주의, 따라만해), Charts라이브러리 설치

안녕하세요 KataRN입니다. 오늘은 코코아팟에 대해 알려드리려고 합니다. 우선 코코아팟이란? "CocoaPods는 Swift 및 Objective-C 코코아 프로젝트의 종속성 관리자입니다. 80,000 개가 넘는 라이브러리를

katarnios.tistory.com

 

기본 코드입니다.

import Kingfisher

let url = URL(string: "https://blog.kakaocdn.net/dn/dHysxu/btrwIhQ81Xg/mMkoBVy0th4phikKS93fVK/img.gif")
imgView.kf.setImage(with: url)

네 쉽습니다...

그래서 응용해서 하나더 알려드리자면...

이미지가 용량이 작을때는 괜찮은데 용량이 크고 다운받아야하는 이미지가 많을 경우에 시간이 걸리는 경우가 있겠죠?

그럼 빈이미지가 들어갑니다.

 

그럴때 사용할 코드도 알려드릴게요.

import Kingfisher

let url = URL(string: "https://blog.kakaocdn.net/dn/dHysxu/btrwIhQ81Xg/mMkoBVy0th4phikKS93fVK/img.gif")
imgView.kf.setImage(with: url)
imgView.kf.indicatorType = .activity
imgView.kf.setImage(with: url, placeholder: nil, options: [.transition(.fade(1.0))], progressBlock:

indicatorType을 .activity로 설정하여 다운이 끝나면 이미지가 1초에 걸쳐 나타다게됩니다.

물론 이미지가 다운로드 전에는 로딩상태 이미지가 나타납니다.

 

그 밖에 자체 제공하는 기능들을 소개해드리겠습니다.

//둥근 모서리 효과
let processor = RoundCornerImageProcessor(cornerRadius: 10)

//이미지 사이즈 재설정
let processor = ResizingImageProcessor(targetSize: CGSize(width: 100, height: 100))

//블러 처리 효과
let processor = BlurImageProcessor(blurRadius: 5.0) 

//틴트 컬러 설정
let processor = TintImageProcessor(tint: .black)

//샘플이미지 다운로드
let processor = DownSamplingImageProcessor(size: CGSize(width: 100, height: 100))

 

오늘도 긴글 읽어주셔서 감사합니다.

반응형