ios - 如何更新 IOS 图表中的限制线,danielgindi/Charts

标签 ios swift xcode uislider ios-charts

所以我添加了一些限制线。

func addLimitLines() {
    let stopLoss = ChartLimitLine(limit: Double(1.70) , label: "stop loss")
    stopLoss.lineWidth = 0.5
    stopLoss.lineColor = .blue
    stopLoss.lineDashLengths = [8.0]
    chartView.rightAxis.addLimitLine(stopLoss)

    let takeProfit = ChartLimitLine(limit: Double(1.68), label: "take profit")
    takeProfit.lineWidth = 0.5
    takeProfit.lineColor = .blue
    takeProfit.lineDashLengths = [8.0]
    chartView.rightAxis.addLimitLine(takeProfit)
    chartView.reloadInputViews()
}

@IBAction func stopLossChange(_ sender: UISlider) {
   //slider action for updating the stoploss limitline
}

@IBAction func takeProfitChange(_ sender: UISlider) {
   //slider action for updating the takeprofit limitline
}

现在我想在移动 slider 时更新限制线值。 enter image description here

最佳答案

虽然在Android Charts 版本我们有 invalidate() 刷新 chartView 但在 iOS 中我看不到它可用。在 iOS 中,我使用 animate 方法更新数据,我相信你也可以按如下方式实现这一点,

@IBAction func stopLossChange(_ sender: UISlider) {
    self.updateLineLimit(Double(sender.value), label: "stop loss")
}

@IBAction func takeProfitChange(_ sender: UISlider) {
    self.updateLineLimit(Double(sender.value), label: "take profit")
}

private func updateLineLimit(_ value: Double, label: String) {
    if let line = chartView.rightAxis.limitLines.filter({ $0.label == label }).first {
        line.limit = value
        chartView.animate(yAxisDuration: 0.00001)
    }
}

关于ios - 如何更新 IOS 图表中的限制线,danielgindi/Charts,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51259158/

相关文章:

objective-c - 随机选择 "list"中 x 数量的项目

ios - Delphi DX Seattle FMX 能否在具有 9.1 SDK 的同一个 .IPA 文件中在 IOS 8 和 IOS 9 上运行应用程序

facebook - 试图从 Facebook 获取用户生日,但我没有得到。我究竟做错了什么?

ios - 如何获得另一个 NSDate 当天特定时间的 NSDate 表示?

ios - UISegmentedControl 操作中的 UIButton

ios - 用于处理来自 Safari 的图像的操作扩展

objective-c - 核心数据: attributes in many-to-many relationships

ios - 不鼓励在分离的 View Controller 上呈现 View Controller - 屏幕 View 变黑

ios - 使位于按钮 1 下方的按钮 1 的底部边缘和按钮 2 的顶部边缘垂直居中对齐?

ios - 在快速完成所有后台进程后执行功能