SPTinderView
A clone of standard Tinder app’s swipe left swipe right view

Installation
CocoaPods
pod SPTinderView ###### Manual: Copy the swift files in `Source` directory
Usage
There are two main classes:
SPTinderView is a subclass of UIView which acts as the container for all the cards (aka Cells) in the tinder view. The card is represented by SPTinderViewCell class which is also a subclass of UIView.
It can be used similar to how a UITableView is used with SPTinderView being equivalent to UITableView and SPTinderViewCell being equivalent to UITableViewCell
- Add
SPTinderViewto your view, set thedelegateanddataSource - Set your custom cell by subclassing
SPTinderViewCell - Register this class or nib to the
SPTinderViewusing the methodregisterClass: forIdentifier:orregisterNib: forIdentifier: - Implement the
dataSourceanddelegatemethods.
Example
This example can be found in the project as well.
- Define Custom
SPTinderViewCell
class MyTinderCell: SPTinderViewCell {
let titleLabel: UILabel = UILabel(frame: CGRectZero)
let imageView: UIImageView = UIImageView(frame: CGRectZero)
override init(frame: CGRect) {
super.init(frame: frame)
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
required init(reuseIdentifier: String) {
super.init(reuseIdentifier: reuseIdentifier)
self.frame = CGRect(origin: CGPointZero, size: CGSize(width: 300, height: 400))
titleLabel.frame = CGRectMake(0, self.frame.height - 50, self.frame.width, 50)
imageView.frame = CGRectMake(0, 0, self.frame.width, self.frame.height - 50)
imageView.clipsToBounds = true
imageView.contentMode = .ScaleAspectFill
titleLabel.textAlignment = .Center
self.addSubview(imageView)
self.addSubview(titleLabel)
}
}
- Set
SPTinderViewand setdataSoruceanddelegateclass ViewController: UIViewController { @IBOutlet var tinderView: SPTinderView! let cellIdentifier = "MyTinderCell" override func viewDidLoad() { super.viewDidLoad() tinderView.frame = self.view.frame tinderView.registerClass(MyTinderCell.self, forCellReuseIdentifier: cellIdentifier) tinderView.dataSource = self tinderView.delegate = self tinderView.backgroundColor = UIColor.whiteColor() } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() } } - Implement the
dataSourceanddelegatemethodsextension ViewController: SPTinderViewDataSource, SPTinderViewDelegate { func numberOfItemsInTinderView(view: SPTinderView) -> Int { return 20 } func tinderView(view: SPTinderView, cellAt index: Int) -> SPTinderViewCell? { if let cell = tinderView.dequeueReusableCellWithIdentifier(cellIdentifier) as? MyTinderCell { cell.titleLabel.text = "Model No: \(index+1)" cell.imageView.image = TinderModel.randomImage() return cell } return nil } func tinderView(view: SPTinderView, didMoveCellAt index: Int, towards direction: SPTinderViewCellMovement) { print("\(direction)") } }
Contribution
All the contributions are welcome ! Fork, change and send a pull request.