SPTinderView 0.5.1

SPTinderView 0.5.1

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布最新发布2017年8月
SwiftSwift 版本3.0
SPM支持 SPM

Suraj 维护。




SPTinderView

标准 Tinder 应用滑动左滑动右视图的克隆

screenshot

安装

手动

Source 目录中的 swift 文件复制

用法

有两个主要类:`SPTinderView` 是一个从 `UIView` 继承的子类,它充当所有 卡片(即.Cells)的容器。卡片由 SPTinderViewCell 类表示,这个类也是 `UIView` 的子类。

它可以像使用 `UITableView` 一样使用,其中 `SPTinderView` 等同于 `UITableView`,`SPTinderViewCell` 等同于 `UITableViewCell`。

  • SPTinderView 添加到您的视图中,设置 代理数据源
  • 通过继承 SPTinderViewCell 设置自定义单元格
  • 使用方法 registerClass: forIdentifier:registerNib: forIdentifier: 将此类或 nib 注册到 SPTinderView
  • 实现 数据源代理 方法。

示例

此示例也可以在项目中找到。

  1. 定义自定义 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)
    }
}
  1. 设置 SPTinderView 并设置 dataSorucedelegate
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()
    }
}
  1. 实现 数据源代理 方法
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)")
    }
}

贡献

所有贡献都受欢迎!Fork、更改并发送拉取请求。