例如,我有 3 UIViewController
s A、B、C。
我像这样走低谷UIViewController
:
A -> B -> C -> B -> A
当我们到达UIViewController
B 时,我想知道我是从 A 到达 B 还是从 C 到达。
所以我想知道哪个是UIViewController
B的前一个。
例如,我有 3 UIViewController
s A、B、C。
我像这样走低谷UIViewController
:
A -> B -> C -> B -> A
当我们到达UIViewController
B 时,我想知道我是从 A 到达 B 还是从 C 到达。
所以我想知道哪个是UIViewController
B的前一个。
在其他答案之上,您可以为您来自的视图控制器维护一个标签,创建一个 int tagViewControllerFrom 的属性,并在您从 A 或 C 推送到 B 时设置它,为 A 设置 1 或 C 设置东西2,两者都应该被区分,然后在B的viewDidLoad中你可以使用if条件检查它并做accodingly。
试试这个:
// In B
UIViewController* parentViewController =
(UIViewController*) [[self.view superview] nextResponder];
if ([parentViewController isEqualTo:viewControllerA])
{
}
else if ([parentViewController isEqualTo:viewControllerB])
{
}
您需要weak
在控制器中维护一个引用(可能是id
类型),并且可以在呈现新控制器时将父控制器分配给它