完成之后的界面基本上就是这样 !
首先先说说主要的功能吧
1.首先个界面看起来就像是倒着的图表,有X,Y轴,并且有标签来表示坐标轴所代表的含义
2.可通过缩放手势对视图进行缩放,在缩放的过程中 X轴的刻度会发生变化,共有三种类型的展示,分别是 日,周,月。也可点击按钮来改变视图的类型。
3.通过每个任务的起始和结束的时间来绘制绿色的矩形,并且绘制箭头和折线,将视图连接。
对于这样的功能描述 我们也可以推断出大概可以抽象出来的几个类
1.就是承载 甘特图的可以滑动的一个 UIScrollView的子类
2.就是绿色的表示任务进度的 视图 Cell
3.绘制 X , Y 轴的以及承载 进度视图的 视图 ganttView
4.X轴的标签视图 Xlabel
基本上就是这个思路
cell 中有一个绿色的子视图,然后使用drawRect绘制一个小的三角形在绿色视图的左边
cell会有三个点的属性 分别记录的是链接两个cell的折线的转折点;
甘特图有三种类型
分别是以 日 周 月来显示
所以需要设置一个枚举值,当是视图的缩放比改变时 就修改甘特图的类型然后 重新加载数据源 重新布局视图
ok 这就是甘特图的实现