我有这两种方法:
func showSpinner()
{
let spinner = UIActivityIndicatorView(activityIndicatorStyle: .White)
spinner.startAnimating()
self.navigationItem.leftBarButtonItem = UIBarButtonItem(customView: spinner)
self.navigationItem.hidesBackButton = true
}
func hideSpinner()
{
self.navigationItem.leftBarButtonItem = nil
self.navigationItem.hidesBackButton = false
}
在 viewDidLoad
中,我调用 showSpinner
,然后在加载数据后调用 hideSpinner
。但是 backButton 经常跳到 hideSpinner
上。如何解决?
最佳答案
您可以在移除微调器后使用延迟来显示后退按钮。像0.2秒或按要求
func hideSpinner()
{
self.navigationItem.leftBarButtonItem = nil
dispatch_after(1, dispatch_get_main_queue()) { () -> Void in
self.navigationItem.hidesBackButton = false
};
}
关于ios - 在导航栏中隐藏和显示后退按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30303790/