https://github.com/freesuraj/sptinderview
Tinder clone for iOS
https://github.com/freesuraj/sptinderview
Last synced: 9 days ago
JSON representation
Tinder clone for iOS
- Host: GitHub
- URL: https://github.com/freesuraj/sptinderview
- Owner: freesuraj
- License: mit
- Created: 2016-02-03T06:31:41.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2020-03-17T10:41:39.000Z (over 5 years ago)
- Last Synced: 2025-06-05T06:58:26.705Z (29 days ago)
- Language: Swift
- Size: 2.04 MB
- Stars: 17
- Watchers: 1
- Forks: 8
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
### SPTinderView
[](https://travis-ci.org/freesuraj/SPTinderView)
[](http://twitter.com/iosCook)
[]()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 `SPTinderView` to your view, set the `delegate` and `dataSource`
- Set your custom cell by subclassing `SPTinderViewCell`
- Register this class or nib to the `SPTinderView` using the method `registerClass: forIdentifier: ` or `registerNib: forIdentifier:`
- Implement the `dataSource` and `delegate` methods.#### Example
This example can be found in the project as well.1. Define Custom `SPTinderViewCell`
```objective-c
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)
}
}
```2. Set `SPTinderView` and set `dataSoruce` and `delegate`
```objective-c
class 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()
}
}
```
3. Implement the `dataSource` and `delegate` methods
```objective-c
extension 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.