如何使用 xib 创建自定义 ios-charts 高亮标记?
How to create a custom ios-charts highlight marker with xib?
所以,我正在尝试从 xib 文件创建自定义标记。我正在查看 RadarMarkerView 示例,它基本上是同一件事。问题是程序编译通过了,但是标记没有出现。
这是我的自定义标记 class
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()
}
}
我创建了一个同名 "DailyMarker.xib" 的 xib,并在自定义 Class 字段中设置为 DailyMarker。
这是我设置标记的图表代码
let dailyMarker: DailyMarker = DailyMarker()
dailyMarker.chartView = lineChartView
lineChartView.marker = dailyMarker
我只想创建一个带边框的圆形标记。谁能帮帮我?
所以,我成功了!
我认为我正在实例化图形的文件中缺少 .viewFromXib。这是我更新后的代码
let dailyMarker: DailyMarker = (DailyMarker.viewFromXib() as? DailyMarker)!
dailyMarker.chartView = lineChartView
lineChartView.marker = dailyMarker
请记住,在 xib 文件检查器上,您将视图的 class 与 swift 文件相同。在这种情况下,它是 DailyMarker。无需设置占位符所有者。
所以,我正在尝试从 xib 文件创建自定义标记。我正在查看 RadarMarkerView 示例,它基本上是同一件事。问题是程序编译通过了,但是标记没有出现。
这是我的自定义标记 class
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()
}
}
我创建了一个同名 "DailyMarker.xib" 的 xib,并在自定义 Class 字段中设置为 DailyMarker。
这是我设置标记的图表代码
let dailyMarker: DailyMarker = DailyMarker()
dailyMarker.chartView = lineChartView
lineChartView.marker = dailyMarker
我只想创建一个带边框的圆形标记。谁能帮帮我?
所以,我成功了!
我认为我正在实例化图形的文件中缺少 .viewFromXib。这是我更新后的代码
let dailyMarker: DailyMarker = (DailyMarker.viewFromXib() as? DailyMarker)!
dailyMarker.chartView = lineChartView
lineChartView.marker = dailyMarker
请记住,在 xib 文件检查器上,您将视图的 class 与 swift 文件相同。在这种情况下,它是 DailyMarker。无需设置占位符所有者。