[英]Hide and show back button in navigationBar
I have these two methods: 我有两种方法:
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
}
In viewDidLoad
I call showSpinner
and then after data loaded I call hideSpinner
. 在
viewDidLoad
我调用showSpinner
,然后在加载数据后调用hideSpinner
。 But backButton often jumping on hideSpinner
. 但是backButton经常在
hideSpinner
上hideSpinner
。 How to fix it? 如何解决?
You can use delay to show the back button after removing the spinner. 移除微调器后,可以使用延迟显示后退按钮。 Like 0.2 seconds or as per the requirement
大约0.2秒或根据要求
func hideSpinner()
{
self.navigationItem.leftBarButtonItem = nil
dispatch_after(1, dispatch_get_main_queue()) { () -> Void in
self.navigationItem.hidesBackButton = false
};
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.