如何找出哪个是父(上一个)uiviewcontroller?iphone



例如,我有3个UIViewController s A、B、C。

我这样浏览UIViewController

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

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

所以我想知道哪一个是B.的前一个UIViewController

在其他答案中,您可以为您来自的视图控制器维护一个标记,创建int tagViewControllerFrom的属性,并在您推到B时设置它,从a或C,对于a设置1,或对于C设置2,两者都应该区分,然后在B的viewDidLoad中您可以使用if条件和accordingly检查它。

试试这个:

// In B
UIViewController* parentViewController = 
    (UIViewController*) [[self.view superview] nextResponder];
if ([parentViewController isEqualTo:viewControllerA])
{
}
else if ([parentViewController isEqualTo:viewControllerB])
{
}

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

最新更新