Cocoachina上有位仁兄一直求助这个问题,但是也没人给出Demo参考.虽然楼主以前也没做过类似的功能,但还是愿意试一试,所以就有了今天的这篇文章把一些遇到的问题和心得分享出来,一起学习共勉
思路分析
家谱中有多个人物,关系也比较复杂,各种画线有点乱,为了避免频繁的声明变量以及节约内存,楼主决定直接用CG绘图去写
另外创建一个模型类用来存储一些通用信息,比如姓名,fram,子类,
遇到的问题
-
首先就是链表就遇到了问题,我是这样写的模型类
自己套自己,有点递归的感觉.刚开始用感觉还不错,但是层级越多,写起来越难以维护且不严谨.
可以看出越往下,sunModel的嵌套就越来越多,维护起来越困难.这点希望有达人能够较好的优化下.
- 实现的时候发现层级完全是个不可控因素,可能多可能少,所以必须有一
个独立的算法来计算排版,有点类似倒过来的金字塔
想了半天实在不知道怎么描述....简单来说通过一个递归和数组,不断查找是否存在子类,来进行绘图操作,完全页面绘制
直接附上地址吧:https://github.com/WeiTChen/Tree-diagram
有些地方架构不是很好,希望大牛更正指出,十分感谢!!!