斯威夫特:清除 UIView

Posted

技术标签:

【中文标题】斯威夫特:清除 UIView【英文标题】:Swift : Clear UIView 【发布时间】:2015-07-16 00:36:37 【问题描述】:

我在 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】:

如果“清除”是指从中删除所有以前添加的子视图,则可以尝试以下操作:

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

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

再一次,如果它只是一个普通的UIView,您可以简单地用一个新视图替换整个视图(如果需要,这甚至可以简化旧视图和新视图之间的交叉淡入淡出)。

【讨论】:

以上是关于斯威夫特:清除 UIView的主要内容,如果未能解决你的问题,请参考以下文章

斯威夫特:'!'的区别和 '?'迅速

又名 'NSString' 没有成员 - 斯威夫特

为啥 AVAudioPlayer var 等于 nil? - 斯威夫特

xcode - 移动手势

斯威夫特:没有一个名为

消极时,斯威夫特加倍奇怪