使用Reactive Cocoa制作的Swippable UICollectionViewCell子类。
使用它时,您的集合单元应该继承自CADRACSwippableCell
,并且您应该提供一个要显示在单元下方并用于可滑动操作的revealView
。
之后,您可以通过订阅revealViewSignal
来获取当 reveal 视图隐藏/显示时的:next
事件。您还可以通过allowedDirection
提供允许的滑动方向。
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
CustomCollectionCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"ReuseIdentifier" forIndexPath:indexPath];
UIView *bottomView = [[UIView alloc] init];
bottomView.frame = (CGRect){
.size = CGSizeMake(CGRectGetWidth(collectionView.bounds)/2, CGRectGetHeight(cell.bounds))
};
cell.allowedDirection = arc4random_uniform(2);
cell.revealView = bottomView;
[[cell.revealViewSignal filter:^BOOL(NSNumber *isRevealed) {
return [isRevealed boolValue];
}] subscribeNext:^(id x) {
[[self.collectionView visibleCells] enumerateObjectsUsingBlock:^(CustomCollectionCell *otherCell, NSUInteger idx, BOOL *stop) {
if (otherCell != cell)
{
[otherCell hideRevealViewAnimated:YES];
}
}];
}];
bottomView.backgroundColor = cell.allowedDirection == CADRACSwippableCellAllowedDirectionRight ? [UIColor redColor] : [UIColor blueColor];
return cell;
}
有关更多文档,请参阅头文件CADRACSwippableCell.h
。
我们强烈建议您使用Cocoapods。简单,只需将依赖项添加到您的Podfile中:
platform :ios, '7.0'
pod 'CADRACSwippableCell'
然后运行pod install
将会安装依赖项。
最后,将头文件导入到您想要使用的地方
#import "CADRACSwippableCell.h"
这样就完成了!
要检查演示,首先使用Cocoapods安装依赖项。之后,在Xcode中构建并运行Example
项目。
版权所有 (c) 2014 Joan Romano
任何人在获得本软件及其相关文档文件(“软件”)的副本后,允许免费使用软件而不受限制,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或转让软件副本的权利,并允许向软件提供者提供软件的人这样做,前提是遵守以下条件:
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
软件“按原样”提供,不提供任何明示或暗示的保证,包括适销性、特定目的和未经专利权侵犯的保证。在任何情况下,作者或版权所有者对任何索赔、损害或其他责任,无论基于合同、侵权或其他原因,因软件或其使用或其它方式与之相关而引起的,均不予承担责任。