在iPhone中创建树状结构

时间:2014-01-29 08:51:31

标签: ios iphone xcode ios7 tree

我需要像UI中的Tree结构一样表示我的数据。如何在iPhone中创建这样的视图? object library中是否有任何默认项目?如果没有,我怎么能手动实现呢?

enter image description here

2 个答案:

答案 0 :(得分:4)

Core Foundation中有类似CFTree

的内容

但是,说实话,我不会使用它,因为它太低级别而且它是纯粹的C.最好用你自己实现树结构。

您可以通过多种方式实现它,具体取决于您希望拥有的树种类。 以下是最简单的界面示例:

@interface XYNode : NSObject
  @property(nonatomic, readonly) YourDataObjectType *data;
  @property(nonatomic, readonly) NSSet *children;
  @property(nonatomic, readonly) XYNode *parent;

  + (instancetype)nodeWithParent:(XYNode *)parent data:(YourDataObjectType *)data;
  - (instancetype)initWithParent:(XYNode *)parent data:(YourDataObjectType *)data;

  - (void)addChildNode:(id)node;
  - (void)removeChildNode:(id)node;
@end

答案 1 :(得分:2)

由Ed Preston制作的github上有一个名为PSTreeGraph的项目

https://github.com/epreston/PSTreeGraph

作者说它适用于iPad,但也适用于iPhone, 只需在xcode“部署信息”中将设备更改为iPhone

即可

此外,它是互动的。

修改

“手动”添加节点的可能性:

PSHTreeGraphViewController.m

您有一个入口点[self setRootClassName:@"UIControl"];

在这里你可以检查如何创建树。

该项目还为您提供了数据模型:ObjCClassWrapper

最后有一个方法(委托)

-(void) configureNodeView:(UIView *)nodeView
            withModelNode:(id <PSTreeGraphModelNode> )modelNode

在节点上调用。

创建自定义交互式树的所有内容!