MEDeclarativeTable 0.3.0

MEDeclarativeTable 0.3.0

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布日期最后发布日期2015年10月

Mike Enriquez 维护。




以面向对象的方式描述 UITableView 的部分和行结构。适用于构建小型和 mostly 静态的表格,例如表单、设置、菜单等。我们更倾向于可读性而非内存效率,因此不建议在可能包含大量单元格的表格中使用它。

要运行示例项目,请克隆仓库,首先从 Example 目录运行 pod install

开始

MEDeclarativeTable 为您的 UITableView 充当 UITableViewDataSourceUITableViewDelegate。设置完成后,您可以通过 MEDeclarativeTable 来配置您的部分和行。

设置

创建一个 MEDeclarativeTable 实例并将其设置为表格的数据源和委托。

MEDeclarativeTable *declarativeTable = [[MEDeclarativeTable alloc] init];
self.tableView.dataSource = declarativeTable;
self.tableView.delegate   = declarativeTable;

表格部分

所有表格至少需要一个部分。部分由 MEDeclarativeTableSection 类表示。

MEDeclarativeTableSection *section = [[MEDeclarativeTableSection alloc] init];

从这里,您可以配置部分的头部和尾部。以下示例设置头部标题。有关更多信息,请参阅 MEDeclarativeTableSection.h

section.headerTitle  = @"Section Title";

将部分添加到表格中。

[declarativeTable addSection:section];

表格行

现在我们有一个部分,我们可以创建一些行并将其添加到其中。以下示例创建三个行。

MEDeclarativeTableRow *nameRow = [MEDeclarativeTableRow alloc] initWithStyle:MEDeclarativeTableRowStyleValue2];
nameRow.textLabelText          = @"Name";
nameRow.detailTextLabelText    = @"Mike Enriquez";

MEDeclarativeTableRow *emailRow = [MEDeclarativeTableRow alloc] initWithStyle:MEDeclarativeTableRowStyleValue2];
emailRow.textLabelText          = @"Email";
emailRow.detailTextLabelText    = @"[email protected]";

MEDeclarativeTableRow *deleteRow = [MEDeclarativeTableRow alloc] init];
deleteRow.textLabelText          = @"Delete Contact";
deleteRow.configureCell = ^(UITableViewCell *cell) {
    cell.textLabel.textAlignment = NSTextAlignmentCenter;
    cell.textLabel.textColor     = [UIColor redColor];
};
deleteRow.didSelectAction = ^() {
    NSLog(@"TODO: Delete Contact tapped");
};

[section setRows:@[ nameRow, emailRow, deleteRow ]];

行可以包含自定义视图。使用 MEDeclarativeTableRowStyleCustomView 风格并设置 customView。行的宽度将自动根据自定义视图的高度设置。

MEDeclarativeTableRow *row = [MEDeclarativeTableRow alloc] initWithStyle:MEDeclarativeTableRowStyleCustomView];
row.customView = self.myCustomView;

[section addRow:row];

安装

MEDeclarativeTable 通过 CocoaPods 提供。要安装它,只需将以下行添加到 Podfile 中

pod "MEDeclarativeTable"

许可证

MEDeclarativeTable 根据 MIT 许可证提供。有关更多信息,请参阅 LICENSE 文件。