ios - 在导航栏中隐藏和显示后退按钮

标签 ios swift back-button navigationitem

我有这两种方法:

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

enter image description here

最佳答案

您可以在移除微调器后使用延迟来显示后退按钮。像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/

相关文章:

ios - 将APN从 Node 服务器发送到设备

python - 如何在 swift 应用程序中运行 python 脚本?

ios - 不会快速显示登录页面

android - 按下后退按钮时访问 EditText 的内容

android - 在 Android 中隐藏主页和后退按钮

ios - ImageView 只能在主线程中使用

iOS 使用 UIActivityViewController 将图片分享到 LinkedIn

swift - Xcode 6.3 中不允许 NSObject 的 hash() 和 description()

javascript - 我可以在不滚动网页的情况下更新 window.location.hash 吗?

c# - MonoTouch.Foundation.MonoTouchException 已抛出 Objective-C 抛出的异常。名称 : NSInternalInconsistencyException