【问题标题】:dealing with modal segues between viewcontrollers in a storyboard处理情节提要中视图控制器之间的模态segue
【发布时间】:2013-03-14 15:22:45
【问题描述】:

我在故事板(在 xcode 中)中有一个 iPad 应用程序,带有几个单独的视图控制器。我必须使用模态segues设置它们以在彼此之间进行转换。我想知道在执行 segue 后处理关闭视图控制器的最佳方法是什么。成功转场后是否应该关闭前一个视图控制器?如果是这样,哪种方式是最佳的?

【问题讨论】:

    标签: iphone ios objective-c


    【解决方案1】:

    如果基本视图控制器 A 将视图控制器 B 呈现为模态,然后您需要模态 C 出现,则应在呈现 C 之前关闭模态 B。这假设模态 B 中的任务不依赖于用户操作的结果在C

    您可以通过以下方式在关闭 B 和呈现 C 之间实现平滑过渡:

    // instantly dismiss B (or whichever is showing)
    [self dismissModalViewControllerAnimated:NO];
    // show the other modal with your existing segue
    [self performseguewithidentifier@"c_segue"];
    

    从 UI 设计的角度来看,模式用于用户在另一个视图控制器(在您的情况下为 A)上执行任务时必须处理的中断/交互。如果模态 B 中的交互需要另一个这样的中断(意味着 B 必须将 C 呈现为模态),那么是时候查看您的 UI 设计,看看您所做的是否是最好的方法。

    如果您实际上是在 视图之间移动(您不再需要 A),那么模态绝对是错误的选择。你可能想做一个 replace 序列,或者查看一个 ContainerView 来管理换出视图控制器。

    【讨论】:

    • 谢谢你的回答很有见地
    猜你喜欢
    • 2012-06-02
    • 1970-01-01
    • 2012-03-11
    • 2011-12-23
    • 2013-06-21
    • 2014-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多