ZKRevealingTableViewCell 0.0.3

ZKRevealingTableViewCell 0.0.3

测试已测试
Lang语言 Obj-CObjective C
许可证 MIT
发布最新发布2014年12月

未声明 维护。



  • 作者
  • Alex Zielenski

Swipe-To-Reveal 的 Sparrow 风格实现


Sparrow for iOS 有一种不同的 swipe to reveal;其控制版的容器视图可以随手指或可选滑动。

此 Swipe-To-Reveal 实现将随手指滚动并且可以滑动。它支持向左、向右或同时左右。


以下是一个预览

image


使用方法

只需链接 QuartzCore.framework 并使用 ZKRevealingTableViewCell 类来创建您的 UITableViewCell。要更改折叠视图,只需修改单元格的 backView 属性。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    ZKRevealingTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Cell"];

    if (!cell) {
        cell = [[[ZKRevealingTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"Cell"] autorelease];
        cell.delegate       = self;
        cell.selectionStyle = UITableViewCellSelectionStyleNone;
    }

    return cell;

}

如果您想一次只选择一个项,您可以在 UITableViewController 子类中这样做

#pragma mark - Accessors

- (ZKRevealingTableViewCell *)currentlyRevealedCell
{
    return _currentlyRevealedCell;
}

- (void)setCurrentlyRevealedCell:(ZKRevealingTableViewCell *)currentlyRevealedCell
{
    if (_currentlyRevealedCell == currentlyRevealedCell)
        return;

    [_currentlyRevealedCell setRevealing:NO];

    if (_currentlyRevealedCell)
        [_currentlyRevealedCell autorelease];

    [self willChangeValueForKey:@"currentlyRevealedCell"];
    _currentlyRevealedCell = [currentlyRevealedCell retain];
    [self didChangeValueForKey:@"currentlyRevealedCell"];
}

#pragma mark - ZKRevealingTableViewCellDelegate

- (BOOL)cellShouldReveal:(ZKRevealingTableViewCell *)cell {
    return YES;
}

- (void)cellDidReveal:(ZKRevealingTableViewCell *)cell {
    NSLog(@"Revealed Cell with title: %@", cell.textLabel.text);
    self.currentlyRevealedCell = cell;
}


#pragma mark - UIScrollViewDelegate

- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
{
    self.currentlyRevealedCell = nil;
}

要编程式地显示或隐藏 backView,设置 revealing 属性。

// Reveal the backView
cell.revealing = YES;

// Hide the backView
cell.revealing = NO;

许可证

本项目采用 MIT 许可。以下是某些法律术语

版权所有 (c) 2012 Alex Zielenski

凡获得本软件及其相关文档副本(以下简称“软件”)的个人,授予免费使用、复制、修改、合并、发布、分发、再许可和/或销售软件的副本的权力,并允许被本软件提供的人士执行上述行为,前提是以下条件

上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。

本软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、适用于特定用途和非侵犯性的保证。在任何情况下,作者或版权所有者不对因本软件或其使用或其它交易而产生的任何索赔、损害或其他责任承担责任,无论这些责任是基于合同、侵权或其他方式。