Find out which view controller you came from
我正试图找出我来自哪个视图控制器。让我解释一下。
我有VIEW控制器A(地方VIEW控制器)。在ViewController A上有3个按钮(网站按钮、地图按钮、速率按钮)。当用户按下"速率"按钮时,会转到"速率视图控制器"。当它们从视图控制器返回时,我必须在视图控制器A(Place View Controller)上/内部"做些事情"。当用户按下"网站按钮"或"地图按钮"时,不需要执行任何操作。
有没有方法可以检查我刚从哪个视图控制器来?
有人有什么建议吗?
谢谢。
一个简单的方法是将类属性添加到(例如bool didcomefromrate)。然后在速率vc中添加类似下面的代码。然后,可以在加载视图控制器A时检查该属性。
1 2 3 4 5 | -(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { UIViewController *targetVC = [segue destinationViewController]; targetVC.didComeFromRate = YES; } |
是的。
If the view controller that received this message is presented by
another view controller, this property holds the view controller that
is presenting it. If the view controller is not presented, but one of
its ancestors is being presented, this property holds the view
controller presenting the nearest ancestor. If neither the view
controller nor any of its ancestors are being presented, this property
holds nil.
在您的
1 | UIViewController *oldVC = self.presentingViewController; |
如果打开一个模态视图控制器(PrimeVIEW控制器),您可以使用视图控制器的"PaleVIEW控制器"属性。
如果是导航,则导航控制器在属性"view controller"中具有视图控制器堆栈。
在这种情况下,最好是使用一个协议,并设置一个委托。
您可以使用委派来执行此操作。
你可以定义一个协议,比如说,
您的