BEMSimpleLineGraph v3.0 Release Notes

Release Date: 2014-08-19 // over 9 years ago
  • Breaking Changes

    • ๐Ÿ—„ Separated the delegate into a delegate and a data source. This provides additional flexibility and brings BEMSimpleLineGraph even closer to UITableView and UICollectionView. Data source methods which were previously delegate methods are now marked as deprecated and unavailable. Implementing a data source method on the delegate will throw an exception.
    • ๐Ÿ—„ Deprecated lineColorForIndex: due to the nature of the new graph mechanics. There is no replacement for this method at this time and implementing it will have no effect.
    • ๐Ÿ—„ Deprecated lineAlphaForIndex: due to the nature of the new graph mechanics. There is no replacement for this method at this time and implementing it will have no effect.

    ๐ŸŽ Performance Improvements

    ๐ŸŽ The line graph is now drawn in a completely different way, using UIBezierPaths instead of multiple UIViews. The result is a ~90% improvement in performance and memory usage. This major change resolves #34. And here's a little chart for comparison:

    Version 2.3 Version 3.0
    120 MB memory usage at 100 points 6 MB memory usage at 100 points
    25 data points stable maximum 250+ data points stable maximum
    Choppy Animation Smooth Animations

    ๐Ÿ†• New Features

    • โž• Added labels and scaling features for the Y-Axis
    • โž• Added multiline X-Axis labels
    • Optionally draw thin, translucent reference lines on the graph behind the main line
    • โž• Added optional axis frames to draw a thin, translucent border between the graph and the axis labels
    • Popovers can now be displayed indefinitely
    • Choose between three different graph animation options (draw, fade, or none)
    • ๐Ÿ†• New delegate method to provide optional suffix for pop-up points

    ๐Ÿ› Bug Fixes

    • ๐Ÿ›  Bezier corners are now buttery-smooth (Fixed #22)
    • Error handling when drawing the graph without data points

    Resolved Issues
    โšก๏ธ This update resolves the following issues: #19, #22, #24, #26, #28, #30, #33, #34, #37, #40, and #41.

    Known Issues
    ๐Ÿš€ There are no known issues in this release.