本身chart这个图标库很强大,同时支持iOS和安卓,可以很好的保证两端的统一性,chart库包含折线,饼状图,柱状图等主流图标。项目本身也一直在使用这个图标。近期的需求是模仿 蚂蚁财富 收益曲线图的交互效果。而且chart本身在iOS端有交互效果,所以需要对其进行“改造”。下面就是实现效果。PS:安卓端可以直接通过 ChartGestureListener 去监听手势交互 setOnChartValueSelectedListener(this); ,
setOnChartGestureListener(this);
一、chart本身的手势交互
其实本身chartView 自身已经添加了手势,通过chartView.gestureRecognizers 可以查看,或者是 BarLineChartViewBase.swift 文件73行 对应 selector 在507行
internal var _tapGestureRecognizer: NSUITapGestureRecognizer!
internal var _doubleTapGestureRecognizer: NSUITapGestureRecognizer!
#if !os(tvOS)
internal var _pinchGestureRecognizer: NSUIPinchGestureRecognizer!
#endif
internal var _panGestureRecognizer: NSUIPanGestureRecognizer!
其中以点击事件为例,在点击的时候首先判断 data 是否为空,这个肯动都没问题。其次就是手势是否可用。也过。
然后就是判断用户是否允许高亮显示,对应的属性是 HighLightPerTapEnabled,其实这里在data 初始化的时候可以设置
_lineChartDataSet.highlightEnabled =

本文介绍了如何利用iOS的Chart库实现类似蚂蚁财富收益曲线图的交互效果,包括利用ChartViewDelegate实现点击高亮显示,通过手势识别进行延迟消失的处理,并讨论了与其它手势的共存策略。
最低0.47元/天 解锁文章
3361

被折叠的 条评论
为什么被折叠?



