【问题标题】:Detect segue inside container检测容器内的segue
【发布时间】:2014-01-28 11:10:42
【问题描述】:

当您在容器中嵌入了一个视图控制器时,您如何检测它何时将执行转场?

例如:

我想从包含容器的视图控制器检测嵌入视图控制器内何时发生转场。

【问题讨论】:

    标签: ios


    【解决方案1】:

    由于 segue 管理由嵌入式视图控制器完成,解决方案是在嵌入式视图控制器和包含视图控制器之间建立委托机制,以便在执行 segue 时通知包含视图控制器。

    如果您不希望您的视图控制器彼此知道,您也可以通过 prepareForSegue 方法中的 NSNotificationCenter 发送通知,并在包含的视图控制器中对它们做出反应。

    【讨论】:

    • 经过一番调试我发现(因为我的应用都是基于导航控制器的)通知UINavigationControllerWillShowViewControllerNotification每次都发送,所以我为它添加了一个观察者。我选择你的答案是因为提到通知让我思考,谢谢!
    【解决方案2】:

    在嵌入视图中,您可以使用- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 方法通知容器视图。我假设 segues 在情节提要中附加了一个标识符。

    【讨论】:

    • 我的意思是在具有容器的视图控制器中检测它
    • 正如@Christian 在他的回答中所说,您将不得不使用通知或委托。这是一个类似的问题:stackoverflow.com/questions/14968321/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-02-21
    • 1970-01-01
    • 2010-11-30
    • 1970-01-01
    • 2011-03-30
    • 2012-09-23
    • 1970-01-01
    相关资源
    最近更新 更多