斯威夫特:清除 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的主要内容,如果未能解决你的问题,请参考以下文章