처음 라이브러리를 만들었을 때의 이야기

소개



요 전날 포이이라는 iOS 라이브러리를 만들었습니다.
htps : // 기주 b. 코 m / 히데아키 토하하라 / 포이
Poi는 Tinder와 같은 카드 스와이프 UI를 쉽게 구현할 수 있는 라이브러리입니다.
(15 스타 이상 취하는 것이 목표이므로, 좋으면 스타 받을 수 있으면 다행입니다)

이런 간지의 UI를 손쉽게 만들 수 있습니다.

지금 대학생으로 엔지니어 아르바이트를 하고 있습니다만, 앱을 만들 뿐만 아니라 OSS 개발하고 싶다-라고 생각한 것이 계기로 만들었습니다.
궁리한 점으로서는, 유저는 TableView를 구현하는 것 같은 느낌으로 이 라이브러리를 사용할 수 있도록 한 점입니다.
많은 iOS 개발자에게 익숙한 방법으로 구현할 수 있습니다.

도입 방법



수동



수동으로 넣으면 라이브러리를 Clone하고
git clone [email protected]:HideakiTouhara/Poi.git

아래와 같이 직접 추가해 주면 OK입니다.


Carthage, CocoaPods



Carthage, CocoaPods 모두 지원됩니다.
CocoaPods라면 podfile에
pod ‘Poi’

Carthage라면 Cartfile에
github "HideakiTouhara/Poi"

갈 수 있습니다.

사용법



PoiView라는 사용자 정의 View를 어떤 형태로 생성하십시오.
StoryBoard에서 View를 배치하여 Class를 PoiView로 만들거나,
코드에서
let poiView = PoiView()
self.view.addSubView(poiView)

로 만들 수 있습니다 (둘 다 import Poi의 설명이 필요합니다)

나머지는 delegate와 datasource를 준수합니다.
class ViewController: UIViewController, PoiViewDataSource, PoiViewDelegate {
poiView.dataSource = self
poiView.delegate = self

이 근처는 TableView와 같은 느낌이군요.

사용할 수 있는 방법 소개



PoiViewDataSource 메서드


func numberOfCards(_ poi: PoiView) -> Int

설정할 카드의 수를 결정합니다.
func poi(_ poi: PoiView, viewForCardAt index: Int) -> UIView

스와이프할 카드의 내용을 설정합니다.
반환 값은 UIView에서 반환합니다.
func poi(_ poi: PoiView, viewForCardOverlayFor direction: SwipeDirection) -> UIImageView? {
    switch direction {
    case .right:
        return UIImageView(image: #imageLiteral(resourceName: "good"))
    case .left:
        return UIImageView(image: #imageLiteral(resourceName: "bad"))
    }
}

카드가 좌우로 흔들릴 때 오버레이하는 이미지를 설정할 수 있습니다.
direction에서 좌우 어느 쪽의 경우인지로 나눌 수 있습니다.

PoiViewDelegate 메서드


func poi(_ poi: PoiView, didSwipeCardAt: Int, in direction: SwipeDirection)

스와이프될 때 호출되는 메서드입니다.
이쪽도 direction에서 좌우 어느 쪽으로 스와이프 했는지 경우 나눌 수 있습니다.
func poi(_ poi: PoiView, runOutOfCardAt: Int, in direction: SwipeDirection)

마지막 카드가 스 와이프되었을 때 수행하려는 작업은 여기에 설명하십시오.

기타 방법


func swipeCurrentCard(to direction: SwipeDirection)

강제로 1장 스와이프하고 싶을 때는 이 메소드를 호출해 주세요.
애니메이션도 붙어 있습니다.
func undo()

한 장 전에 카드로 돌아갈 수 있습니다.
이쪽도 돌아온다 애니메이션이 붙어 있습니다.

GitHub상에는 Sample도 두고 있으므로 체크해 보세요!

만들어 보자.



도서관을 만든다면 엄청난 일이 들립니다만, 실제로는 평상시 만들고 있는 기능을 독립적으로 잘라낼 뿐이라는 감각이었습니다.
다만, 실제로는 어떤 사람이라도 어떤 사용법을 해도 동작하도록(듯이) 하는 곳에 꽤 시간을 잡았습니다. 이른바 희소결합이라는 녀석입니다.
우선 최소한의 기능은 할 수 있었을까라는 단계이므로 반응이 있으면 앞으로 사용자의 의견을 받아들여 점점 새로운 기능을 추가해 나가고 싶습니다.
마지막이 됩니다만, 꼭 스타를 확실히 눌러 주실 수 있으면 다행입니다.
htps : // 기주 b. 코 m/히데아키 토하하라/포이

좋은 웹페이지 즐겨찾기