티스토리 뷰

반응형

안녕하세요 Gons 입니다.

JPGPNG 는 그냥 넣으면 되는데

GIF 는 그냥 넣으면 실행이 안되죠.

그래서 오늘은 GIF 를 넣어보겠습니다.

 

 

 

 

우리 이전 시간에 배웠던 것처럼

Github 에서 gif 를 검색하고 swift 를 필터해서 최상단에 나오는 것으로 사용하겠습니다.

Github 에서 gif 검색 Language - Swift 선택 후 가장 인기 있는 라이브러리 접속 (kaishin/Gifu)

kaishin/Gifu 이게 오늘 우리가 사용해볼 라이브러리입니다.

https://github.com/kaishin/Gifu

↑↑ 주소입니다.

 

 

 

 

 

 

 

이렇게 입력해서 라이브러리를 설치해주세요.

pod 'Gifu'

※ 설치방법을 모르시면 이전 포스팅 코코아팟 설치 방법을 보고 와주세요.

 

 

 

 

 

 

 

 

그리고 구글에서 gif sample 을 하나 다운받겠습니다.

Google 에서 gif sample file download

저는 저 파란새 GIF 를 저장했습니다.

 

 

 

 

 

 

 

 

프로젝트에 드래그 앤 드롭해서 Copy item, Create group 으로 추가해주시면 되고요

다운 받은 gif 파일을 프로젝트에 드래그 앤 드롭으로 추가 시킴

 

 

 

 

 

 

 

 

 

gif 이미지를 사용할 ViewController 에서 설치한 라이브러리를 임포트해줍니다.

import Gifu

보통 인트로 화면 (스플래시 화면) 에서 많이들 사용하실 것 같은데요.

※ 여기서 import 에 안뜨시는분은 커맨드⌘ + B 를 눌러서 한번 빌드하신 후에 진행해주세요.

 

 

 

 

 

 

스토리보드 또는 코드 중에 편하신걸로 이미지뷰를 만들어줍니다.

스토리보드로 이미지뷰 만들 때

스토리보드로 만들면 커스텀 클래스에 GIFImageView 를 넣고 엔터를 쳐주시고요

 

 

 

let gifImageView = GIFImageView(frame: CGRect(x: 0, y: 0, width: 200, height: 200))

코드로는 이런식으로 만들면 됩니다.

 

 

 

 

 

gifImageView.animate(withGIFNamed: "sample") {
	print("It's animating!")
}

이제 gif 이미지 나와야 하는곳에 이렇게 써주면 됩니다. (일단 저는 viewDidLoad 에 썼습니다.)

 

 

 

한번 볼까요?

Gif 가 아주 잘 실행됩니다.

GIF 이미지가 아주 잘 나옵니다.

 

 

 

 

 

 

이렇게 쓰면 GIF 이미지를 멈출 수도 있고요

gifImageView.stopAnimatingGIF()

 

 

 

이렇게 쓰면 다시 시작할 수도 있습니다.

gifImageView.startAnimatingGIF()

 

 

 

지금 애니메이팅상태인지 아닌지 Bool 값으로 확인할 수도 있고요

gifImageView.isAnimatingGIF

 

 

 

 

 

자 그러면 이렇게 쓰고 한번 보겠습니다.

if gifImageView.isAnimatingGIF {
   gifImageView.stopAnimatingGIF()
} else {
   gifImageView.startAnimatingGIF()
}

원하는 타이밍에 멈추고 다시 실행할 수도 있습니다.

잘 실행되네요.

간단하죠?

 

 

 

 

자 이렇게해서 GIF 이미지 사용법 마치겠습니다.

저는 기본 사용법만 알려드린거고

더 심화된 사용법은 깃허브 페이지 안에 나와있습니다.

참고하시면 됩니다.

긴 글 봐주셔서 감사합니다.

다음에 더 유용한 정보로 찾아오겠습니다.

감사합니다.

 

 

 

 

반응형
댓글
300x250
반응형
최근에 올라온 글
최근에 달린 댓글
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Total
Today
Yesterday