RATreeView is a class designed to provide easy and pleasant way to work with tree views on iOS. It works as a wrapper for the UITableView, defining its own delegate and data source methods which make working with tree data structures really easy.
RATreeView is highly customizable and has a lot of features.
CocoaPods is the recommended way to add RATreeView to your project.
- Add additional entry to your Podfile.
pod "RATreeView", "~> 0.9.2"
- Install Pod(s) running
pod install
command. - Include RATreeView using
#import <RATreeView.h>
.
###Source files
- Downloaded the latest version of the library using link.
- Copy content of the downloaded (and unzipped) zip file into your project by dragging it into Project's navigator files structure.
- Xcode 5
- iOS 5
- ARC
- QuartzCore
Check out the demo for example usage of library. Make sure you read the RATreeView documentation on Cocoa Docs.
-
Add following import in file of your project when you want to use 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"
-
Simplest way to initialize and configure RATreeView:
RATreeView *treeView = [[RATreeView alloc] initWithFrame:self.view.bounds]; treeView.delegate = self; treeView.dataSource = self; [self.view addSubview:treeView]; [treeView reloadData];
-
Implement required methods of the RATreeView's data source:
- (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); }
Documentation is available on CocoaPods.
RATreeView was created by Rafał Augustyniak. You can find me on twitter (@RaAugustyniak).
Version 0.9.2
- Fixed bug in
endUpdates
method.
Version 0.9.1
- Fixed behaviour of treeView:willSelectRowForItem: delegate method.
Version 0.9.0
- Added possiblity to change content of the RATreeView dynamically. Possible row operations:
- additions
- deletions
- repositions
- Added additional 'cell accessing' methods.
- Removed
RATreeNodeInfo
class. - Added additional instance methods in RATreeView which substitute functionality provided by
RATreeNodeInfo
class. - Bug fixes.
MIT licensed, Copyright (c) 2014 Rafał Augustyniak, @RaAugustyniak