寻找一个适用于iOS的图形布局框架

28
为了制作一个iOS应用程序,我需要根据它们的类型显示分组元素,并在布局中将不同类型的组分开。 我考虑使用一个无向图,其中分组节点相互指向,形成一种循环引用,然后每个组作为另一个“元图”,其节点也相互指向,希望通过良好的图形布局框架可以很好地显示出来。不幸的是,我听到的唯一框架是graphviz,但似乎没有可用于iOS的端口。所以我的问题是:1.其他实现我需要的方式的想法?2.iOS的良好图形布局实现?3.iOS上可用的graphviz端口?请注意,我不是在寻找绘制图表的框架,而是在寻找确定抽象图中任意节点的最佳位置的布局框架。

1
您是否希望您的应用程序动态生成这些元素并向用户显示图形?这些图形是否需要交互功能? - Michael Mior
@Michael 我不知道原帖的情况,但我有同样的问题,“是的,也许不是”。 :) - Jakob Borg
@Michael:是的,该应用程序允许创建元素并进行元素交互。但是,交互处于工作流程的不同“阶段”,因此它们在确定位置时可以是非交互式的。 - Aviad Ben Dov
这个问题之前有类似的发问,但我们误解了他在这种情况下所指的图形可视化: http://stackoverflow.com/questions/2960308/graph-visualization-libraries-on-iphone - Brad Larson
另外参见:http://stackoverflow.com/questions/8824215/graph-plotting-framework-for-ios - petert
显示剩余3条评论
4个回答

10
根据graphviz开发邮件列表上的一篇文章,pixelglow的Glen Low已经成功移植了graphviz并在Instaviz中使用它。
他还对配置脚本有一些提示

我了解了pixelglow。我试着联系Glen Low,如果他开源这个端口,我会在这里发布它。 - Aviad Ben Dov
好的,更正我的先前评论:我会尝试配置和那里的说明。如果有效,太棒了! - Aviad Ben Dov
@spenthil:这些指令行不通。虽然我尝试了构建,但我无法弄清楚;它会喊出“错误:未定义条件”INSTALL_LTDL“”。这是预期的,因为指令说不要安装LTDL。你有任何想法为什么这会破坏构建吗? - Aviad Ben Dov
你尝试在配置中添加 --disable-ltdl 吗? - spenthil
1
顺便说一下,格伦说他是男性而不是女性。我在Xcode项目中嵌入了一个适当的配置脚本,可以构建libgraphviz.a,但目前它只适用于Graphviz 2.24。还没有更新到最新版本。 - Glen Low
非常抱歉,格伦 - 我已经在上面进行了更正。 - spenthil

3

9
谢谢你的帮助,但这些是用于绘制图表的框架,而不是用于布局的框架。我会添加一条注释,明确说明我需要的不是这个,因为很多人都对此感到困惑。 - Aviad Ben Dov

1

Graphviz是C源代码,并已经被移植到OSX/Xcode。我建议从源代码在Xcode中构建一个库,而不是dylib(因为iOS设备不允许这样),而是.a库。如果不是全部,我敢打赌代码已经非常接近于可移植到iOS。


想到了这个并尝试着玩了一下。事情并不那么简单,但也许我不熟练:例如,在调用./configure之前或之后应该添加源代码? - Aviad Ben Dov
换句话说,你建议如何解决这个问题? :) - Aviad Ben Dov
我不是很确定。configure的目的是为您生成一个makefile。这是我会做的事情:(1)找出如何以针对iPhone目标的方式调用configure,从模拟器开始(2)调用make以获取.a文件(3)在我的项目中使用.a文件。 - Lou Franco
这就是我极度缺乏知识的地方:制作和配置。我一直在尝试使用配置进行几天,但并没有取得重大成功。我甚至不知道如何让gcc编译armv7架构(即使Xcode似乎支持它!)。这一切都非常新奇,而我又没有足够的时间来认真学习它...希望能得到帮助 :-) - Aviad Ben Dov

0

我正在寻找一个更或多或少抽象的布局引擎,而不是类似于PowerPoint的图表引擎。无论如何,谢谢! :) - Aviad Ben Dov

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接