2014-01-29 53 views
1

我需要在UI中表示我的数据,如树结构。如何在iPhone中创建类似这样的视图? object library中是否有任何默认项目?如果没有,我该如何手动执行此操作?在iPhone中创建像结构树一样的树

enter image description here

+0

这棵树有多大?它是互动的吗? – vokilam

+0

最多64个节点..节点是交互式的(可能是按钮) – Harikrishnan

+0

对于64个节点,也应该有滚动/缩放 – vokilam

回答

2

有在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 

叫上一个节点水龙头。

创建自定义交互树的一切!

+0

它在课堂上工作。即子类超类概念...如何用这个表示动态数据? – Harikrishnan

+0

你的问题是关于UI中的树结构,这个项目显示了一个树结构,你只需要改变模型,一切都有很好的文档和结构......看看PSTreeGraphModelNode:这个例子显示了iOS SDK类的一部分,但是你可以改变这个值 – Alban

4

有在核心基础类似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 
+4

+1为答案,但我不认为这是OP有麻烦的结构,这是观点。 – Abizern