【发布时间】:2019-08-22 20:39:16
【问题描述】:
我添加了一个UIBlurEffect,它具有在从服务器加载数据之前加载它的功能。我添加了一个boolean 参数来激活或停用它。
func addingEffectLayerWithSpinner(active: Bool){
let blurEffect = UIBlurEffect(style: UIBlurEffect.Style.light)
let blurEffectView = UIVisualEffectView(effect: blurEffect)
blurEffectView.frame = view.bounds
blurEffectView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
if active {
view.addSubview(blurEffectView)
} else {
//This one is not working
blurEffectView.removeFromSuperview()
}
}
在viewDidLoad 中,我将false 传递给该函数以删除UIBlueEffect 视图,但它不起作用,您能帮我解决问题吗?
override func viewDidLoad() {
super.viewDidLoad()
tableView.delegate = self
addingEffectLayerWithSpinner(active: true)
profile.showingProfile { result in
switch result {
case .success(_):
// Sucesss response from server
DispatchQueue.main.async {
self.nameLabel?.text = nameOfUser!
self.avatar?.downloaded(from: avatarUrl!)
//This one is not working
self.addingEffectLayerWithSpinner(active: false)
}
// failed response from server
case .failure(let error):
print(error)
}
}
}
【问题讨论】: