检测子 UIViewController 被弹出
Detect Child UIViewController being popped
我相信这将是一个简单的答案,也许是我缺少实现的方法。这里是:
在我的 Controller1
中,我使用 pushViewController
将新视图 Controller2
推送到我的视图堆栈中。我有一个后退按钮。
现在,当在我的 Controller1
中按下后退按钮时,我希望能够检测到 Controller2
正在弹出并且我们回到了 Controller1
。有道理吗?
我试图用 ViewDidAppear
做到这一点,但我不确定如何检测弹出的控制器。这里还有其他答案,但它们都在 viewWillDisappear
上的 Controller2
中显示示例
在 Swift 中我该怎么做?
在不知道更多的情况下,您应该将第一个控制器的引用传递给第二个控制器,以便第二个控制器可以在完成时告诉第一个控制器(这是一个简单的委托关系,也可以使用块来实现/ 闭包)。
理想情况下,第一个控制器应该负责关闭第二个控制器,或者在它收到此回调时,或者更恰当地说,在 'dismiss' 按钮被点击时直接关闭。
我相信这将是一个简单的答案,也许是我缺少实现的方法。这里是:
在我的 Controller1
中,我使用 pushViewController
将新视图 Controller2
推送到我的视图堆栈中。我有一个后退按钮。
现在,当在我的 Controller1
中按下后退按钮时,我希望能够检测到 Controller2
正在弹出并且我们回到了 Controller1
。有道理吗?
我试图用 ViewDidAppear
做到这一点,但我不确定如何检测弹出的控制器。这里还有其他答案,但它们都在 viewWillDisappear
Controller2
中显示示例
在 Swift 中我该怎么做?
在不知道更多的情况下,您应该将第一个控制器的引用传递给第二个控制器,以便第二个控制器可以在完成时告诉第一个控制器(这是一个简单的委托关系,也可以使用块来实现/ 闭包)。
理想情况下,第一个控制器应该负责关闭第二个控制器,或者在它收到此回调时,或者更恰当地说,在 'dismiss' 按钮被点击时直接关闭。