如何使用xib创建自定义ios-charts突出显示标记?

时间:2017-09-28 00:45:33

标签: ios ios-charts

因此,我尝试从xib文件创建自定义标记。我正在寻找RadarMarkerView样本,它基本上是一回事。问题是程序编译但标记没有出现。

这是我的自定义标记类

open class DailyMarker: MarkerView {

        @IBOutlet weak var powerLabel: UILabel!
        @IBOutlet weak var hourLabel: UILabel!

        override open func awakeFromNib() {
            self.offset.x = -self.frame.size.width / 2.0
            self.offset.y = -self.frame.size.height - 7.0
        }
        open override func refreshContent(entry: ChartDataEntry, highlight: Highlight) {
            powerLabel?.text = String.init(format: "%.2f kWh", entry.y)
            hourLabel?.text = "Hora"
            layoutIfNeeded()
        }
    }

我创建了一个同名的xib" DailyMarker.xib"在自定义类字段中,我设置为DailyMarker。

这是我设置标记

的图表代码
let dailyMarker: DailyMarker = DailyMarker()
dailyMarker.chartView = lineChartView
lineChartView.marker = dailyMarker

我只是想创建一个带边框的圆形标记。有谁可以帮助我?

1 个答案:

答案 0 :(得分:1)

所以,我明白了!

我认为它错过了我实例化图形的文件中的.viewFromXib。那是我更新的代码

let dailyMarker: DailyMarker = (DailyMarker.viewFromXib() as? DailyMarker)!
dailyMarker.chartView = lineChartView
lineChartView.marker = dailyMarker

记住在xib文件检查器上,您将视图的类与swift文件相同。在这种情况下,它是DailyMarker。无需设置占位符所有者。