JCStockGraph 1.0.1

JCStockGraph 1.0.1

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布上次发布2014年12月

Joseph维护。



 
依赖
CorePlot~> 1.5
AFNetworking~> 2.0
MBProgressHUD~> 0.8
MTDates~> 0.12
FontasticIcons~> 0.5
 


  • 作者:
  • Joseph Constantakis

JCStockGraph是一种简单的方式来显示任何在Yahoo Finance API中列出证券的历史价格图表。以下是一些使用在Benzinga Stock Tracker应用中的图表的截图示例。

功能

  • 为Yahoo Finance API中的任何证券提供5个不同时间范围的图表。
  • 包含每个不同范围的图表的可分页滚动视图。
  • 有几个选项可以自定义图表的外观。
  • 支持拖动平移和捏合 zoom。
  • 动态更新的坐标轴标签,如图中所示。

用法

对于单个图表,请使用JCStockGraphController。对于包含每个时间范围的图的分页滚动视图,请使用JCStockGraphPageController。只需初始化控制器,设置选项,并将其视图作为子视图添加,如下所示:

    self.graph = [[JCStockGraphPageController alloc] initWithTicker:@"AAPL"];
    // or self.graph = [[JCStockGraphController alloc] initWithTicker:@"AAPL"]; for just one page

    self.graph.view.frame           = CGRectMake(0, 100, 320, 100);
    self.graph.graphOffset          = CGPointMake(10, 0);
    self.graph.graphSize            = CGSizeMake(300, 100);
    self.graph.graphOptions         = kGraphOptionSmoothGraph | kGraphOptionHideXAxis | kGraphOptionHideGrid;
    self.graph.shouldAutoscroll     = YES;
    self.graph.shouldShowRotateHint = NO;

    [self.view addSubview:self.graph.view];
    // If this code all runs AFTER the superview is already loaded, add the line:
    [self.graph reloadViews];
    // This is because of an issue (listed below) with Core Plot dynamic resizing

注意:为了在分页控制器中启用平移和 zoom,我在分页控制器中禁用了滚动,转而使用位于图表下面的UISegmentedControl在图表之间切换。然后您只需在代码中使用scrollToRange:(JCStockGraphRange)newRange来切换图表。

查看示例项目和头文件以获取更多信息,以及完整的选项列表。要运行示例项目;克隆仓库,然后从示例目录运行pod install

安装

值得一提的是,JCStockGraph有5个独立的依赖项,许多人认为对于一个相当小的控件来说,这是一个相当大的数量。至少最后两个(MTDates和FontasticIcons)可以很容易地用较少的努力进行替换,并且MBProgressHUD和AFNetworking也不是必需的。如果您决定用自定义代码替换其中的任何一个,欢迎向我提交 pull request!

已知问题

  • 如果一只股票仅公开了例如3个月,那么5年、1年和3个月的图表都会是重复的。可能有一个更优雅的方式来处理这个问题(移除不必要的范围,或者也许只是始终显示完整的时间范围,即使它大部分是空的)。
  • 还需要更多选项。尤其是,在选项中设置颜色似乎是非常必要的。
  • 由于CorePlot的工作方式,图形无法动态调整大小,如果你想要动态地调整大小,这就会成为一个问题。如果有人有解决方案,我很乐意听到。

非常欢迎提交拉取请求,同时也欢迎为发现的任何错误提出问题。

作者

Joseph Constantakis,[email protected]

许可证

JCStockGraph遵循MIT许可证。有关更多信息,请参阅LICENSE文件。