Latest 2.0.0
Homepage https://github.com/HideakiTouhara/TinderCard
License MIT
Platforms ios 10.0
Authors

Poi

You can use tinder UI like tableview method

demo

Installation

Manual Installation

  1. you use this command
git clone [email protected]:HideakiTouhara/Poi.git
  1. Import Poi.xcodeproj to your project

direct_import1

  1. Add Poi.frameworkiOS to Embedded Binaries

direct_import2

Cocoa Pods

Please write the below code in Podfile

pod ‘Poi’, :git => 'https://github.com/HideakiTouhara/Poi.git’

Carthage

Write this code in your Cartfile.

github "HideakiTouhara/Poi"

and implement this command

carthage update

Add Poi.framework in /Carthage/Build/iOS/ to Embedded Binaries.

carthage_import

Usage

Create PoiView in storyboard or swift file

import Poi

@IBOutlet weak var PoiView: PoiView!
// You should change poiView's class to PoiView in Attributes inspector.

or

import Poi

 let poiView = PoiView()
 self.view.addSubView(poiView)

Conform to PoiViewDataSource and PoiViewDelegate

class ViewController: UIViewController, PoiViewDataSource, PoiViewDelegate {

Designate delegate target.

Please put this code after setting card contents.

poiView.dataSource = self
poiView.delegate = self

PoiViewDataSource method

Set swipeable card number

func numberOfCards(_ poi: PoiView) -> Int

Set swipeable card

func poi(_ poi: PoiView, viewForCardAt index: Int) -> UIView

Set overlay image if right or left swiped

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"))
    }
}

PoiViewDelegate method

When did swipe, this method is called

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

When last card was swiped, this method is called

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

Public method

Swipe current card

func swipeCurrentCard(to direction: SwipeDirection)

Undo animation and go back previous card

func undo()

Example

Check the Example file!

import UIKit
import Poi

class ViewController: UIViewController, PoiViewDataSource, PoiViewDelegate {

    @IBOutlet weak var poiView: PoiView!

    var sampleCards = [UIView]()

    override func viewDidLoad() {
        super.viewDidLoad()
        var colors = [UIColor.red, UIColor.orange]
        for i in (0..<2) {
            sampleCards.append(UIView(frame: CGRect(x: 0, y: 0, width: 240, height: 128)))
            sampleCards[i].backgroundColor = colors[i]
        }
        poiView.dataSource = self
        poiView.delegate = self
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }

    // MARK: PoiViewDataSource
    func numberOfCards(_ poi: PoiView) -> Int {
        return 2
    }

    func poi(_ poi: PoiView, viewForCardAt index: Int) -> UIView {
        return sampleCards[index]
    }

    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"))
        }
    }

    // MARK: PoiViewDelegate
    func poi(_ poi: PoiView, didSwipeCardAt: Int, in direction: SwipeDirection) {
        switch direction {
        case .left:
            print("left")
        case .right:
            print("right")
        }
    }

    func poi(_ poi: PoiView, runOutOfCardAt: Int, in direction: SwipeDirection) {
        print("last")
    }

    // MARK: IBAction
    @IBAction func OKAction(_ sender: UIButton) {
        poiView.swipeCurrentCard(to: .right)
    }

    @IBAction func undo(_ sender: UIButton) {
        poiView.undo()
    }
}

Contribution

Please create issues or submit pull requests for anything.

License

Poi is released under the MIT license.

© 2018 GitHub, Inc.

Latest podspec

{
    "name": "TinderCard",
    "version": "2.0.0",
    "summary": "Use tinde like UI instantly.",
    "description": "- You can implement tinder UI like tableView.",
    "homepage": "https://github.com/HideakiTouhara/TinderCard",
    "license": {
        "type": "MIT",
        "file": "LICENSE"
    },
    "authors": {
        "HideakiTouhara": "[email protected]"
    },
    "platforms": {
        "ios": "10.0"
    },
    "source": {
        "git": "https://github.com/HideakiTouhara/TinderCard.git",
        "tag": "2.0.0"
    },
    "source_files": "TinderCard/**/*.swift",
    "exclude_files": "Classes/Exclude",
    "pushed_with_swift_version": "4.0"
}

Pin It on Pinterest

Share This