【问题标题】:Unwind segue from tableview cell present in SWRevealViewController从 SWRevealViewController 中存在的 tableview 单元中展开 segue
【发布时间】:2015-12-07 19:09:53
【问题描述】:

我是故事板的新手,正在使用 SWRevealViewController 实现展开转场并遇到以下问题

我有RightRevealViewController(嵌入在 SWRevealViewController 中并在主情节提要中标记为 sw_right)它有一个 tableview,我想在它的第三个单元格上执行一个展开 segue,上面写着“Logout” On单击注销我想导航回LoginViewController 屏幕。

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

 @IBAction func prepareForUnwind(segue: UIStoryboardSegue){
}

我已经在表格视图单元格上添加了选择操作,但问题是每当我点击任何单元格时,我都会导航回登录视图,而我希望在选择第三个单元格时进行此导航。

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

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

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

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

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

【问题讨论】:

    标签: ios swift uitableview swrevealviewcontroller


    【解决方案1】:

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

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

    这样做解决了我面临的滞后问题

    【讨论】:

      【解决方案2】:

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

      [self.navigationController popToRootViewControllerAnimated:YES]

      【讨论】:

      • 我已经尝试过了,但我仍然遇到上面发布的问题
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-02-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多