Poi alternatives and similar libraries
Based on the "Animation" category.
Alternatively, view Poi alternatives based on common mentions on social networks and blogs.
-
AnimatedCollectionViewLayout
A UICollectionViewLayout subclass that adds custom transitions/animations to the UICollectionView without effecting your existing code. -
AlertTransition
AlertTransition is a extensible library for making view controller transitions, especially for alert transitions. -
ContainerController
👉↕️📱ContainerController 🧩✨⚙️ is a UI Component Swipe-Panel (Customizable). 💡 The idea is copied from the app: Apple Maps, Stocks. Swift version -
SPPerspective
Widgets iOS 14 animation with 3D and dynamic shadow. Customisable transform and duration. -
AKVideoImageView
DISCONTINUED. UIImageView subclass that allows you to display a looped video and dynamically switch it. [GET https://api.github.com/repos/numen31337/AKVideoImageView: 404 - Not Found // See: https://docs.github.com/rest/repos/repos#get-a-repository] -
Wobbly
(Animate CSS) animations for iOS. An easy to use library of iOS animations. As easy to use as an easy thing. -
Disintegrate
Disintegration animation inspired by THAT thing Thanos did at the end of Avengers: Infinity War. -
VariousViewsEffects
Various view's effects for iOS, written in Swift. Allows you to animate views nicely with easy to use extensions. Currently supported animations: Glass Break, Explode, Snowflakes. Every animation is randomized.
CodeRabbit: AI Code Reviews for Developers

* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of Poi or a related project?
Popular Comparisons
README
Poi
You can use tinder UI like tableview method
Installation
Manual Installation
- Use this command
git clone [email protected]:HideakiTouhara/Poi.git
- Import Poi.xcodeproj to your project
- Add Poi.frameworkiOS to Embedded Binaries
Cocoa Pods
Please write the below code in Podfile
pod ‘Poi’
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.
Usage
Create PoiView in storyboard or swift file
import Poi
@IBOutlet weak var poiView: PoiView!
// Change View'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(required method)
func numberOfCards(_ poi: PoiView) -> Int
Set swipeable card(required method)
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.
*Note that all licence references and agreements mentioned in the Poi README section above
are relevant to that project's source code only.