VENSeparatorView 1.0.1

VENSeparatorView 1.0.1

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

Dasmer Singh 维护。



  • Venmo

VENSeparatorView 使得在 iOS 上创建自定义分隔符变得简单。它在 Venmo 应用中用于代表转账故事。

alt text - alt text

安装

开始使用最简单的方法是使用 CocoaPods。只需将以下行添加到 Podfile 中

pod 'VENSeparatorView', '~> 1.0.0'

通用用法

导入 VENSeparatorView.h

使用其 initWithFrame:topLineSeparatorType:bottomLineSeparatorType 初始化器创建 UISeparatorView 或其子类的实例,并将其添加为子视图。

VENSeparatorType 选项有

VENSeparatorTypeStraight,
VENSeparatorTypeJagged,
VENSeparatorTypeNone

UITableViewCell Provider

使用包含的 VENSeparatorTableViewCellProvider,在 UITableView 中创建锯齿状单元格变得简单

在您的 UITableViewDataSource 中导入 #import "VENSeparatorTableViewCellProvider.h" 并遵守协议的 isCellJaggedAtIndexPath: 方法。

示例

// Specifies that all cells with odd row index are jagged.
- (BOOL)isCellJaggedAtIndexPath:(NSIndexPath *)indexPath
{
    return (indexPath.row % 2);
}

将 UITableView 的 separatorStyle 属性设置为 UITableViewCellSeparatorStyleNone

创建 VENSeparatorTableViewCellProvider 属性

@property (nonatomic, strong) VENSeparatorTableViewCellProvider *separatorProvider;

在这个类的 init 方法中,或者如果是 UIViewController 子类,在 viewDidLoad 方法中,使用 initWithStrokeColor:fillColor:delegate: 方法实例化 VENSeparatorTableViewCellProvider 属性。

self.separatorProvider = [[VENSeparatorTableViewCellProvider alloc] initWithStrokeColor:[UIColor grayColor]
                                                                              fillColor:[UIColor lightGrayColor]
                                                                               delegate:self];

在数据源的 tableView:cellForRowAtIndexPath: 方法的末尾,使用 VENSeparatorTableViewCellProvider 的 applySeparatorsToCell:atIndexPath:inTableView:cellHeight: 应用于 UITableViewCell。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    UITableViewCell *cell;
    // ...

    [self.separatorProvider applySeparatorsToCell:cell atIndexPath:indexPath inTableView:tableView cellHeight:0];
    return cell;
}

示例项目

请查看此仓库中的 示例项目 以获取示例用法。

贡献

我们非常乐意看到您对这个库的改进意见!最好的贡献方式是提交一个拉取请求。我们将尽力迅速响应您的补丁。如果您发现错误或有问题,还可以提交一个 新的 Github 问题:octocat: