目前,无法以您想要的方式更改条形设计。
然而,有人通过更改网格线来绘制条形图但确实没有添加。 看到: 添加了drawGridLinesOnTopEnabled布尔标志,以在条形图顶部绘制网格线 。 你可以查看他的工作 这里 。
另一种手动解决方法,虽然不是最好的,但如果你绝对需要它应该可以工作,是通过在透明视图上放置一个非透明线条。 chartView (或任何其他 UIView 对于这个问题)
chartView
UIView
class HorizontalLines: UIView { override func draw(_ rect: CGRect) { //number of parts to divide the height of view by let segments = 20 //number of lines ignoring the bottom most line let numberOfLines = segments - 1 //draw the lines from left to right for i in (1...numberOfLines).reversed() { let multiplier = CGFloat(i)/CGFloat(segments) let y = rect.size.height * multiplier let startPoint = CGPoint(x:0, y:y) let endPoint = CGPoint(x:rect.size.width, y:y) let aPath = UIBezierPath() aPath.move(to: startPoint) aPath.addLine(to: endPoint) aPath.close() //line width aPath.lineWidth = 1 aPath.stroke() aPath.fill() } } }
let lineView = HorizontalLines() lineView.isUserInteractionEnabled = false lineView.backgroundColor = .clear lineView.translatesAutoresizingMaskIntoConstraints = false chartView.addSubview(lineView) lineView.leadingAnchor.constraint(equalTo: chartView.leadingAnchor).isActive = true lineView.trailingAnchor.constraint(equalTo: chartView.trailingAnchor).isActive = true lineView.topAnchor.constraint(equalTo: chartView.topAnchor).isActive = true lineView.bottomAnchor.constraint(equalTo: chartView.bottomAnchor).isActive = true
请注意,这将在上面显示的任何内容上画一条线 chartView 。 因此,如果您决定显示条形数据标签,那么这些线条也将覆盖它。
我希望这能以某种方式帮助你:)