从 SWRevealViewController 中存在的 tableview 单元格展开 segue

Unwind segue from tableview cell present in SWRevealViewController

我是情节提要的新手,正在使用 SWRevealViewController 实现展开转场并遇到以下问题

我有 RightRevealViewController(它嵌入了 SWRevealViewController 并在主故事板中标记为 sw_right)它有一个 table 视图,我想执行一个 unwind segue点击它的第 3 个单元格,上面写着 "Logout" 单击注销时,我想导航回 LoginViewController 屏幕。

所以在阅读了很多教程之后,我开始知道我需要在登录视图控制器中添加一个 unwind segue 操作方法,因为这是我想要导航回的视图,所以我在登录中添加了以下代码视图控制器

 @IBAction func prepareForUnwind(segue: UIStoryboardSegue){
}

我在 table 视图单元格上添加了选择操作,但问题是每当我点击任何单元格时,我都会导航回登录视图,而我想在选择第三个单元格时使用此导航.

所以到目前为止,在我的 RightRevealViewController 上,我有一个 table 委托方法,我在其中识别用户单击了哪个单元格索引并添加了以下代码

 func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
    if tableView == fixedTableContent{
        if indexPath.row == 2{
            [self .performSegueWithIdentifier("LoginScreen", sender: self)]
        }
    }
}

此外,当此导航完成时动画不流畅以便更清楚,我已将其分解为步骤

  1. 右滑导航先隐藏
  2. 我看到我的前视图控制器
  3. 有1秒的延迟
  4. 然后我导航/展开到登录视图

这种行为正常吗我的意思是它应该直接带我到登录视图控制器我在这里遗漏了什么,请指导我如何解决这个问题,即 UITableView 的条件展开 segue 和行为我放松时得到的

如果您的登录屏幕是根视图,那么只需使用

[self.navigationController popToRootViewControllerAnimated:YES]

我解决了这个问题,我所要做的就是在导航调用 revealToggleAnimated 方法之前

self.revealViewController().revealToggleAnimated(true)
self.revealViewController().navigationController?.popToRootViewControllerAnimated(true)

这样做解决了我面临的延迟问题