Swift : 清除 UIView
Swift : Clear UIView
我在 UIView 中使用 PNChart,我的方法运行超时,它向图表添加了一条附加线,而不是重新创建整个图表。如何在添加[ing]子视图之前清除 UIView?
@IBOutlet weak var lineChart: UIView!
...
// in function
theLineChart.chartData = [actualData]
theLineChart.strokeChart()
// want to clear self.lineChart here
self.lineChart.addSubview(theLineChart)
如果“清除”是指从中删除所有以前添加的子视图,您可以尝试类似的操作:
while let subview = lineChart.subviews.last {
subview.removeFromSuperview()
}
需要注意的是 lineChart
应该保持一个普通的 UIView
(或者您知道其实现的自制子类),否则它可能有您不应该拥有的内部子视图移除。
再一次,如果它只是一个普通的 UIView
,您可以简单地用一个新视图替换整个视图(如果这样的话,这甚至可以使新旧视图之间的淡入淡出变得简单是需要的)。
我在 UIView 中使用 PNChart,我的方法运行超时,它向图表添加了一条附加线,而不是重新创建整个图表。如何在添加[ing]子视图之前清除 UIView?
@IBOutlet weak var lineChart: UIView!
...
// in function
theLineChart.chartData = [actualData]
theLineChart.strokeChart()
// want to clear self.lineChart here
self.lineChart.addSubview(theLineChart)
如果“清除”是指从中删除所有以前添加的子视图,您可以尝试类似的操作:
while let subview = lineChart.subviews.last {
subview.removeFromSuperview()
}
需要注意的是 lineChart
应该保持一个普通的 UIView
(或者您知道其实现的自制子类),否则它可能有您不应该拥有的内部子视图移除。
再一次,如果它只是一个普通的 UIView
,您可以简单地用一个新视图替换整个视图(如果这样的话,这甚至可以使新旧视图之间的淡入淡出变得简单是需要的)。