我声明了一个名为var progressBar的UIView变量:UIView?removeFromSuperview()并不总是奏效
,我表现出来或隐藏此功能
func showProgressBar(showBar: Bool){
if showBar{
let viewHeight = view.frame.size.height
progressBar = Bundle.main.loadNibNamed("progressBar", owner: nil, options: nil)?.first as? UIView
progressBar?.frame = CGRect(x: 0, y: viewHeight - 80 , width: self.view.frame.width, height: 80)
if let bar = progressBar{
self.view.addSubview(bar)
}
}else{
DispatchQueue.main.async() {
self.progressBar?.removeFromSuperview()
}
}
有时认为,当我浏览我无法隐藏进度条,即使在执行self.progressBar?.removeFromSuperview()
视图之间一点。在我看来,如果视图失去了对旧的进度条的引用......您是否对这个问题有了解,以及如何修复它?
尝试直接在else cond中删除progressBar。我认为没有必要在DispathQueue.main.async() –
中删除它我添加了DispatchQueue.main.async()以查看它是否可以解决问题。没有它,问题依然存在。 –
隐藏progressBar不起作用? –