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. -
Spruce iOS Animation Library
Swift library for choreographing animations on the screen. -
Gemini
Gemini is rich scroll based animation framework for iOS, written in Swift. -
Transition
Easy interactive interruptible custom ViewController transitions -
DeckTransition
A library to recreate the iOS Apple Music now playing transition -
Motion
A library used to create beautiful animations and transitions for iOS. -
Sica
:deer: Simple Interface Core Animation. Run type-safe animation sequencially or parallelly -
Gagat
A delightful way to transition between visual styles in your iOS applications. -
TransitionableTab
TransitionableTab makes it easy to animate when switching between tab. -
AlertTransition
AlertTransition is a extensible library for making view controller transitions, especially for alert transitions. -
YetAnotherAnimationLibrary
Designed for gesture-driven animations. Fast, simple, & extensible! -
SwipeTransition
Allows trendy transitions using swipe gesture such as "swipe back anywhere". -
SPPerspective
Widgets iOS 14 animation with 3D and dynamic shadow. Customisable transform and duration. -
TheAnimation
Type-safe CAAnimation wrapper. It makes preventing to set wrong type values. -
AKVideoImageView
UIImageView subclass that allows you to display a looped video and dynamically switch it. -
Wobbly
(Animate CSS) animations for iOS. An easy to use library of iOS animations. As easy to use as an easy thing. -
AGInterfaceInteraction
library performs interaction with UI interface -
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. -
MagicKit
An Advanced and Flexible Framework for Building Engaging Transitions.
Appwrite - The open-source backend cloud platform
* 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.