0

我有一个子视图控制器,由放置在故事板不同位置的两个视图控制器调用。在这个孩子中有一个关闭实际视图的按钮,我想分配一个IBAction或一个Segue来将此视图与真正的父视图控制器连接。

也许我错了,但可以用Unwind Segue做到这一点?这是我第一次使用这些,有人可以帮助我吗?

非常感谢!和平

4

3 回答 3

0

父母和孩子之间是什么关系?它是推送到导航控制器上还是呈现(模态)?然后你可以在以下情况下使用UINavigationController

- (UIViewController *)popViewControllerAnimated:(BOOL)animated; // Returns the popped controller.

或者在呈现(模态)视图控制器的情况下

- (void)dismissViewControllerAnimated: (BOOL)flag completion: (void (^)(void))completion NS_AVAILABLE_IOS(5_0);

当然,您也可以使用展开转场,请查看本教程

于 2013-11-14T15:27:02.000 回答
0

无论您使用什么 viewController,您都可以通过调用访问其父级:

// < iOS 5
[myViewController parentViewController]

// >= iOS 5
[myViewController presentingViewController]

得到它后,你只需要检查它是哪一个:

if ([[myViewController presentingViewController] isKindOfClass:[myParentClassA class]])
{
  // do anything
}
于 2013-11-14T15:42:19.007 回答
0

可以在两个父视图控制器中创建具有相同名称的展开方法:

- (IBAction)unwindToThisViewController:(UIStoryboardSegue *)segue {

}

展开机制会自动遍历响应者链并找到正确的父视图控制器

于 2015-09-27T12:39:32.667 回答