FZAccordionTableView 0.2.3

FZAccordionTableView 0.2.3

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布最后发布2016年9月

Krisjanis Gaidis维护。



  • 作者
  • Krisjanis Gaidis

概览

FZAccordionTableView 将您的常规 UITableView 转换为可折叠表格视图。表格视图的节标题用作可触摸区域以折叠行 - 只需轻按节标题,该节下的所有行将位于标题下方展开,反之亦然。

此模块旨在非常容易使用,无需进行任何修改即可实现默认行为。只需构建一个带有单元格和节标题的表格视图,并使用此模块中的类进行子类化。

FZAccordionTableView 类

@interface FZAccordionTableView : UITableView

@property (nonatomic) BOOL allowMultipleSectionsOpen;
@property (nonatomic) BOOL keepOneSectionOpen;
@property (strong, nonatomic, nullable) NSSet <NSNumber *> *initialOpenSections;
@property (nonatomic) BOOL enableAnimationFix;

- (BOOL)isSectionOpen:(NSInteger)section;
- (void)toggleSection:(NSInteger)section;
- (NSInteger)sectionForHeaderView:(UITableViewHeaderFooterView *)headerView;

@end

FZAccordionTableViewHeaderView 类

@interface FZAccordionTableViewHeaderView : UITableViewHeaderFooterView
@end

FZAccordionTableViewDelegate 协议

@protocol FZAccordionTableViewDelegate <NSObject>

- (BOOL)tableView:(FZAccordionTableView *)tableView canInteractWithHeaderAtSection:(NSInteger)section;

- (void)tableView:(FZAccordionTableView *)tableView willOpenSection:(NSInteger)section withHeader:(UITableViewHeaderFooterView *)header;
- (void)tableView:(FZAccordionTableView *)tableView didOpenSection:(NSInteger)section withHeader:(UITableViewHeaderFooterView *)header;
- 
- (void)tableView:(FZAccordionTableView *)tableView willCloseSection:(NSInteger)section withHeader:(UITableViewHeaderFooterView *)header;
- (void)tableView:(FZAccordionTableView *)tableView didCloseSection:(NSInteger)section withHeader:(UITableViewHeaderFooterView *)header;

@end

如何使用?

步骤

  1. 添加到 Podfile: pod 'FZAccordionTableView', '~> 0.2.3'
  2. 使用 FZAccordionTableView 子类化您的 UITableView
  3. 使用 FZAccordionTableViewHeaderView 子类化您的 UITableViewHeaderFooterView

Swift 支持

FZAccordionTableView 与 Swift 兼容!请查看 "示例" 文件夹中的 Swift 示例以查看如何在 Swift 项目中实现 FZAccordionTableView。

示例

它是如何工作的?

FZAccordionTableView 作为您的 UITableViewDelegate/UITableViewDataSource 实现和UITableView之间的中介。FZAccordionTableView 实现 UITableViewDelegateUITableViewDataSource,询问您要显示多少行,并在某一特定节“关闭”时向UITableView报告不同的数量。UITableViewHeaderFooterView的子类化使FZAccordionTableView知道何时某一特定节被“打开”或“关闭”。

许可证

FZAccordionTableView 在 MIT 许可下发布。有关详细信息,请参阅 LICENSE。