1

我有这两种方法:

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。如何解决?

在此处输入图像描述

4

1 回答 1

4

移除微调器后,您可以使用延迟显示后退按钮。像0.2秒或根据要求

func hideSpinner()
{
    self.navigationItem.leftBarButtonItem = nil
    dispatch_after(1, dispatch_get_main_queue()) { () -> Void in
        self.navigationItem.hidesBackButton = false
    };
}
于 2015-05-18T13:11:32.610 回答