我需要像UI中的Tree结构一样表示我的数据。如何在iPhone中创建这样的视图? object library
中是否有任何默认项目?如果没有,我怎么能手动实现呢?
答案 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
在节点上调用。
创建自定义交互式树的所有内容!