开发者社区 问答 正文

Storyboard如何实现pop和dismiss

选项只有custom,model和push。那pop和dismiss呢?必须要代码写么?
screenshot

展开
收起
a123456678 2016-07-19 15:30:51 2620 分享 版权
2 条回答
写回答
取消 提交回答
  • 可以通过unwind segue从导航栈返回。使用unwind segue可以从导航层次(navigation hierarchy)中返回上一步或上几步。普通的segue会创建一个目标视图控制器的新实例,然后转换;而unwind segue转换到导航层次中已经存在的视图控制器。转换开始前,为源视图控制器和目标视图控制器提供回调函数。通过这些回调函数在两个视图控制器之间传递数据。 在Interface Builder中创建一个unwind segue时,不需要指定目标视图控制器。当unwind segue触发时,运行时动态判断跳转到导航层次中哪一个视图控制器。这个过程可自定义,并为容器视图控制器提供额外可自定义的方面。 - (IBAction)unwindToCurrentController:(UIStoryboardSegue *)unwindSegue {

    }

    2019-11-28 19:57:11
    赞同 展开评论
  • 写一个custom segue能做到,但任何时候都不应该用segue来做pop或dismiss。

    Storyboard Segue 设计就是单向的组织的,只应该从上到下,没有返回。
    当Segue执行时,总是会创建新的destination controller,即destination controller永远不会指向之前的controller。

    2019-07-17 19:58:26
    赞同 展开评论
问答地址: