Отображение круга только для выбранного / выделенного значения - PullRequest
1 голос
/ 17 июня 2020

Я везде искал это и не мог найти никакого решения или намеков на то, как этого добиться. Я хочу нарисовать индикатор (кружок) только для выделенной / выделенной точки. Прямо сейчас у меня есть

dataSet.drawCircleHoleEnabled = false
dataSet.drawCirclesEnabled = false

Итак, моя линейная диаграмма выглядит простой, но как только я начинаю перетаскивать искатель и вижу индикатор выделения, я также хочу видеть кружок, показывающий мне ввод данных. Я хочу что-то вроде этого:

enter image description here

Пока единственное, что мне пришло в голову, это создать другой набор данных и настроить его на лету с помощью делегатов, но это кажется излишним для чего-то столь распространенного.

1 Ответ

1 голос
/ 06 июля 2020

необходимо создать пользовательский маркер

class CircleMarker: MarkerImage {
    
    @objc var color: UIColor
    @objc var radius: CGFloat = 4
    
    @objc public init(color: UIColor) {
        self.color = color
        super.init()
    }
    
    override func draw(context: CGContext, point: CGPoint) {
        let circleRect = CGRect(x: point.x - radius, y: point.y - radius, width: radius * 2, height: radius * 2)
        context.setFillColor(color.cgColor)
        context.fillEllipse(in: circleRect)
        
        context.restoreGState()
    }
}

и использовать его

let marker = CircleMarker(color: .red)
chart.marker = marker

введите описание изображения здесь

...