简体   繁体   English

在NavigationBar中隐藏和显示返回按钮

[英]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经常在hideSpinnerhideSpinner 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM