0

例如,我有 3 UIViewControllers A、B、C。

我像这样走低谷UIViewController

 A -> B -> C -> B -> A

当我们到达UIViewControllerB 时,我想知道我是从 A 到达 B 还是从 C 到达。

所以我想知道哪个是UIViewControllerB的前一个。

4

3 回答 3

2

在其他答案之上,您可以为您来自的视图控制器维护一个标签,创建一个 int tagViewControllerFrom 的属性,并在您从 A 或 C 推送到 B 时设置它,为 A 设置 1 或 C 设置东西2,两者都应该被区分,然后在B的viewDidLoad中你可以使用if条件检查它并做accodingly。

于 2013-02-22T07:45:02.347 回答
1

试试这个:

// In B

UIViewController* parentViewController = 
    (UIViewController*) [[self.view superview] nextResponder];

if ([parentViewController isEqualTo:viewControllerA])
{
}
else if ([parentViewController isEqualTo:viewControllerB])
{
}
于 2013-02-22T07:42:34.970 回答
0

您需要weak在控制器中维护一个引用(可能是id类型),并且可以在呈现新控制器时将父控制器分配给它

于 2013-02-22T07:42:03.070 回答