Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift ios图表如何使条形图在方向改变时正确调整大小?_Swift_Constraints_Orientation_Ios Charts - Fatal编程技术网

Swift ios图表如何使条形图在方向改变时正确调整大小?

Swift ios图表如何使条形图在方向改变时正确调整大小?,swift,constraints,orientation,ios-charts,Swift,Constraints,Orientation,Ios Charts,我正在尝试用ios图表制作一个条形图,如果手机的方向发生变化,条形图视图无法正确地重新绘制以适应屏幕-在横向模式下,图形似乎被压缩到视图的前50个像素 我曾尝试在code和interface builder中将约束添加到条形图视图中,但我一直遇到相同的问题 我找到了一种方法使其工作-当方向发生如下变化时,移除并重置条形图表视图: override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?

我正在尝试用ios图表制作一个
条形图
,如果手机的方向发生变化,
条形图视图
无法正确地重新绘制以适应屏幕-在横向模式下,图形似乎被压缩到视图的前50个像素

我曾尝试在code和interface builder中将约束添加到
条形图
视图中,但我一直遇到相同的问题

我找到了一种方法使其工作-当方向发生如下变化时,移除并重置
条形图表视图

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()

是,它不会自动刷新。 也许你应该试试

chart.data.notifyDataChanged()
chart.notifyDataSetChanged()
chart.setNeedsDisplay()

我已经用你的建议替换了我在traitCollectionDidChange中的代码-不幸的是仍然不起作用..我已经用你的建议替换了我在traitCollectionDidChange中的代码-不幸的是仍然不起作用。。