斯威夫特:清除UIView

时间:2015-07-16 00:36:37

标签: ios xcode swift uiview

我在UIView中使用PNChart并且超时我的方法运行它在图形中添加了一条附加线而不是重新创建整个图形。在添加[ing] Subview?

之前,如何清除UIView
     @IBOutlet weak var lineChart: UIView!


    ...
    // in function
    theLineChart.chartData = [actualData]
    theLineChart.strokeChart()
    // want to clear self.lineChart here
    self.lineChart.addSubview(theLineChart)

1 个答案:

答案 0 :(得分:5)

如果通过“清除”表示从中删除所有以前添加的子视图,您可以尝试以下内容:

while let subview = lineChart.subviews.last {
    subview.removeFromSuperview()
}

需要注意的是lineChart应该保持一个普通的UIView(或者你知道实现的自制子类),否则它可能会有你不应该删除的内部子视图。

然后,如果它只是一个简单的UIView,你可以简单地用一个新视图替换整个视图(如果需要的话,这甚至可以使旧视图和新视图之间的交叉淡入淡出变得简单)。