美文网首页iOS DeveloperiOS 开发
家谱/树形图应该怎么画?

家谱/树形图应该怎么画?

作者: 魏天晨 | 来源:发表于2016-06-17 18:01 被阅读3504次

    Cocoachina上有位仁兄一直求助这个问题,但是也没人给出Demo参考.虽然楼主以前也没做过类似的功能,但还是愿意试一试,所以就有了今天的这篇文章把一些遇到的问题和心得分享出来,一起学习共勉

    思路分析

    家谱中有多个人物,关系也比较复杂,各种画线有点乱,为了避免频繁的声明变量以及节约内存,楼主决定直接用CG绘图去写


    其实就是想练下手

    另外创建一个模型类用来存储一些通用信息,比如姓名,fram,子类,


    顺便再玩玩链表

    遇到的问题

    • 首先就是链表就遇到了问题,我是这样写的模型类



      自己套自己,有点递归的感觉.刚开始用感觉还不错,但是层级越多,写起来越难以维护且不严谨.

    创建模型

    可以看出越往下,sunModel的嵌套就越来越多,维护起来越困难.这点希望有达人能够较好的优化下.

    • 实现的时候发现层级完全是个不可控因素,可能多可能少,所以必须有一
      个独立的算法来计算排版,有点类似倒过来的金字塔

    想了半天实在不知道怎么描述....简单来说通过一个递归和数组,不断查找是否存在子类,来进行绘图操作,完全页面绘制


    突然不知道怎么说

    直接附上地址吧:https://github.com/WeiTChen/Tree-diagram

    有些地方架构不是很好,希望大牛更正指出,十分感谢!!!

    相关文章

      网友评论

        本文标题:家谱/树形图应该怎么画?

        本文链接:https://www.haomeiwen.com/subject/wwjvdttx.html