【问题标题】:How to return to initial ViewController without attaching Nav Bar如何在不附加导航栏的情况下返回初始 ViewController
【发布时间】:2016-04-12 04:55:24
【问题描述】:

我正在使用 Facebook API,并且正在尝试实现 logout 功能。当UITableViewCell 被点击时,我想回到原来的登录页面。我尝试创建一个从 VC 到 ViewController.swift 的普通 segue(即初始登录页面),但它附加了 navigationBar,这不是我想要的。

我已经尝试了几件事。这是我当前的代码

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
        if indexPath.row == 5 {
            NSUserDefaults.standardUserDefaults().setObject(nil, forKey: KEY_UID)
            NSUserDefaults.standardUserDefaults().setObject(nil, forKey: SELECTED_SPORTS)
            let loginViewController: UIViewController = ViewController()
            self.navigationController?.popToRootViewControllerAnimated(true)
        }
    }

这只是让我回到以前的 VC,这不是我想要的。我尝试过 Unwind Segues,但不允许拖到 Storyboard 的 Exit 按钮上,这也很混乱。

【问题讨论】:

    标签: ios swift navigation


    【解决方案1】:

    如果你不想要navigationBar,那就把它隐藏起来。

    self.navigationController?.setNavigationBarHidden(false, animated: true)

    【讨论】:

      【解决方案2】:

      这可能会帮助你兄弟这样做。

      func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) 
      {
      
              if indexPath.row == 5 
              {
                  NSUserDefaults.standardUserDefaults().setObject(nil, forKey: KEY_UID)
                  NSUserDefaults.standardUserDefaults().setObject(nil, forKey: SELECTED_SPORTS)
                  let LoginVCOBJ = UIStoryboard(name: "MainStoryboard", bundle: NSBundle.mainBundle()).instantiateViewControllerWithIdentifier("loginViewControllerblVC_OBJ") as! loginViewController
                  self.navigationController?.viewControllers = [LoginVCOBJ]
      
              }
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-09-30
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多