我正在尝试用ios图表制作一个barchart
,当手机的方向改变时,barchartview
无法正确地重新绘制以适应屏幕时,我遇到了一个问题-在横向模式下,图表似乎被压缩到视图的前50个像素中。
我在代码和界面构建器中都尝试过向barchart
视图添加约束,但我一直遇到同样的问题。
我找到了一种方法让它工作-当方向改变如下时移除并重置barchartview
:
override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) {
print ("orientation change")
barChartView!.removeFromSuperview()
barChartView = BarChartView(frame: CGRect(x: 0, y: 60, width: self.view.frame.size.width, height: self.view.frame.size.height - 60))
self.view.addSubview(barChartView!)
setChart()
}
但是条形码视图不应该自动响应IB中设置的约束吗?或者我还有别的事要做吗?
最佳答案
是的,不会自动刷新。
也许你该试试
chart.data.notifyDataChanged()
chart.notifyDataSetChanged()
chart.setNeedsDisplay()