项目介绍:
项目介绍
手势控制卡片视图移除与删除
简介
整个卡片视图的视图结构是参照着 UITableView 与 UITableViewCell,有相似的方法与属性,同样有复用机制(根据 xib 文件名或 单元项类名注册复用),可在注册多种不同的单元项类型,使用 pan 手势,滑动过程中不断进行卡片的移动与旋转计算。
CardView 类似于 UITableView
CardViewItem 类似于 UITableViewCell
支持两种mode:
1.remove 左滑时当前卡片移除屏幕,右滑时上一张卡片变为可视
2.delete 左滑或者右滑都将卡片删除
第三方依赖
Masonry 用于设置约束
Demo
static NSString * ITEM_XIB = @”CardItem”; // Item 的 xib 文件名
static NSString * ITEM_RUID = @”Item_RUID”; // Item 的复用标识符
static NSString * ITEM_XIB_2 = @”CardItem2″; // 第二种 Item 的 xib 文件名
static NSString * ITEM_RUID_2 = @”Item_RUID2″;// 第二种Item 的复用标识符
@property (weak, nonatomic) IBOutlet CardView * cardView;
.m 实现方法中调用
self.cardView.delegate = self;
self.cardView.dataSource = self;
self.cardView.maxItems = 3; // 最多可视卡片数
self.cardView.scaleRatio = 0.05; // 相邻层的缩放比
[self.cardView registerXibFile:ITEM_XIB forItemReuseIdentifier:ITEM_RUID]; // 注册复用
[self.cardView registerXibFile:ITEM_XIB_2 forItemReuseIdentifier:ITEM_RUID_2];
[self.cardView reloadData]; // 加载数据
结语
代码不复杂,可能手势那块需要更好的组织一下,结合注释应该比较容易看懂!
github地址:https://github.com/Qmzy/Card
如果觉得对您有些帮助,希望您能 star 一下,谢谢!