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,您可以简单地用一个新视图替换整个视图(如果这样的话,这甚至可以使新旧视图之间的淡入淡出变得简单是需要的)。