我想在iPhone中绘制心率监视器应用程序的图形(ECG Type)。我不想使用核心情节,但喜欢用石英开发。我正在从蓝牙设备接收心跳值,现在我想根据从BLE接收的值创建图表?如何使用Quartz Framework绘制图形
感谢
我想在iPhone中绘制心率监视器应用程序的图形(ECG Type)。我不想使用核心情节,但喜欢用石英开发。我正在从蓝牙设备接收心跳值,现在我想根据从BLE接收的值创建图表?如何使用Quartz Framework绘制图形
感谢
第一个简单的方法是使用UIBezierPath
画一条线在视图中drawRect:
。您必须将接收到的值转换为视图的坐标系,然后创建一个UIBezierPath
的实例,您可以在其中添加所有与addLineToPoint:
相关的点。最后你打电话[bezierPath stroke]
实际画线。您可以为您的ViewController创建一个数据源协议,并在您的视图上创建一个reload
方法,当接收到新数据时触发视图重绘。
谢谢暗示我,但我问题是,我从BLE设备(75,83,92等)获取数值,我必须在我的视图中将它们绘制为朝x轴移动的图形,所以我的y值将来自该设备和x,我会添加一些常数值,但是当图形到达屏幕的最终位置(320)时,会发生什么呢?以前的点需要从屏幕上移除,如何?另外我应该如何每秒用新值更新图形,所以它不会从头开始生成整个图形? – york
您需要确定哪些点实际可见,然后将它们馈送到视图。从每次打勾开始重绘。如果这样做不够好,就开始优化它。 – Karl
如何清除绘图并重新绘制?我的线条越来越像蛇那样越来越长:) –