반응형
안녕하세요. KataRN입니다.
오늘은 Kingfisher에 대해서 알아보도록 하죠
Kingfisher 원격저장소(특정 URL 주소)에 있는 이미지를 앱 내에서 보이게 해주는 라이브러리입니다.
보통 이미지를 처리할때 비동기로 처리하다보니 복잡해지고 코드가 지저분해집니다. 쉽고 클린한 코드를 위해 사용합니다.
그 밖에도 Kingfisher는 이미지를 다운로드하여 캐시하기 때문에 이미지 비동기호출에 대해 걱정하실 필요가 없습니다.
한번 캐시된 이미지는 다음번 호출에 더 빠르게 보여지는 것도 강점입니다.
사용법
코코아팟 설치부터 할게요.(pod 'Kingfisher')
참고링크 : https://katarnios.tistory.com/23
기본 코드입니다.
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))
오늘도 긴글 읽어주셔서 감사합니다.
반응형
'Old_SWIFT(221012) > 라이브러리이야기' 카테고리의 다른 글
Firebase Realtime Database 다루기 (0) | 2022.03.23 |
---|---|
Lottie 다루기 (0) | 2022.03.22 |
Firebase Auth 다루기 (3/3) (Apple 로그인) (0) | 2022.03.21 |
Firebase Auth 다루기 (2/3) (구글로그인) (0) | 2022.03.20 |
Firebase Auth 다루기 (1/3) (소개, 이메일 회원가입, 로그인, 로그아웃, 회원정보수정, 암호재설정) (0) | 2022.03.20 |