RATreeView 2.1.2

RATreeView 2.1.2

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

Rafał Augustyniak维护。




  • 作者:
  • Rafal Augustyniak

RATreeView (iOS 7.0+, tvOS 9.0+)

👷该项目由Rafał Augustyniak创建和维护。您可以在twitter上找到我(@RaAugustyniak)。

简介

iOS tvOS

RATreeView是一个类,旨在为iOS和tvOS上的树视图提供简单愉快的工作方式。它作为UITableView的包装器,定义了自己的代理和数据源方法,这使得处理树数据结构变得非常容易。

RATreeView高度可定制,具有许多功能。

安装

源文件

  1. 使用此链接下载库的最新版本。
  2. 将下载的(并解压缩的)zip文件的内容拖动到项目的导航器文件结构中,以将其复制到您的项目中。

要求

  • Xcode 5
  • iOS 7或更高版本/tvOS 9或更高版本

用法

查看示例用法以了解库的示例用法。请确保您已阅读Cocoa Docs上的RATreeView文档

基本用法

  1. 当您想要使用RATreeView时,在您的项目文件中添加以下导入

    // In case you are using RATreeView with CocoaPods
    #import <RATreeView.h>
    // In case you are using RATreeView by simply copying 
    // source files of the RATreeView into your project
    #import "RATreeView.h"
  2. 初始化和配置RATreeView的最简单方法

    RATreeView *treeView = [[RATreeView alloc] initWithFrame:self.view.bounds];
    treeView.delegate = self;
    treeView.dataSource = self;       
    [self.view addSubview:treeView];
    [treeView reloadData];
  3. 实现RATreeView数据源所需的方法

    - (NSInteger)treeView:(RATreeView *)treeView numberOfChildrenOfItem:(id)item
    {
       return item ? 3 : 0;
    }
    - (UITableViewCell *)treeView:(RATreeView *)treeView cellForItem:(id)item treeNodeInfo:(RATreeNodeInfo *)treeNodeInfo
    {
      // create and configure cell for *item*
      return cell
    }
    - (id)treeView:(RATreeView *)treeView child:(NSInteger)index ofItem:(id)item
    {
      return @(index);
    }

添加下拉刷新控件

使用代码和标准的UIRefreshControl控件,添加下拉刷新手势极为简单。

UIRefreshControl *refreshControl = [UIRefreshControl new];
[refreshControl addTarget:self action:@selector(refreshControlChanged:) forControlEvents:UIControlEventValueChanged];
[treeView.scrollView addSubview:refreshControl];

文档

文档可在CocoaPods上找到。

待办事项

  • 在递归折叠和展开操作的情况下,改进代理回调。
  • 改善文档。
  • 单元测试。
  • 重新排序行功能。

作者

RATreeView 由 Rafał Augustyniak 创建。您可以在推特上找到我(@RaAugustyniak)。

发行说明

关于库新版本的资料可以在仓库的发行版部分找到。

版本 1.0.2

  • 修复了选择和取消选择操作中的错误。
  • 通过 @Arrnas 修复了递归展开操作中的错误。

版本 1.0.1

  • 修复了递归展开操作中的错误。

版本 1.0.0

  • 提高了性能。
  • 增加了递归展开操作。可以通过使用 expandRowForItem: expandChildren:withRowAnimation: 方法执行。默认行为是非递归展开。
  • 增加了递归折叠操作。可以通过使用 collapseRowForItem: expandChildren:withRowAnimation: 方法执行。默认行为是非递归折叠。
  • 当传入的点不在任何单元格内部时,修复了 itemForRowAtPoint: 方法中的错误。

版本 0.9.2

  • 修复了 endUpdates 方法中的错误。

版本 0.9.1

  • 修复了 treeView:willSelectRowForItem: 代理方法的操作行为。

版本 0.9.0

  • 增加了动态更改 RATreeView 内容的可能性。可能的行操作
    • 增加
    • 删除
    • 重排
  • 增加了额外的 '单元格访问' 方法。
  • 删除了 RATreeNodeInfo 类。
  • 在 RATreeView 中增加了额外的实例方法以取代由 RATreeNodeInfo 类提供的功能。
  • 错误修复。

许可证

MIT 许可,版权所有(c)2014 Rafał Augustyniak,@RaAugustyniak