如何选择正确的父视图控制器

时间:2013-11-14 15:18:05

标签: ios objective-c segue

我有一个子视图控制器,由位于 storyboard 中不同位置的两个视图控制器调用。在这个孩子中有一个关闭实际视图的按钮,我想指定 IBAction Segue 来连接此视图与真正的父视图控制器< /强>

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

非常感谢!和平

3 个答案:

答案 0 :(得分:0)

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

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

或者在呈现(模态)viewcontroller的情况下

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

您当然可以使用展开segues check out this tutorial

答案 1 :(得分:0)

无论您使用的是viewController,都可以通过调用:

来访问其父级
// < iOS 5
[myViewController parentViewController]

// >= iOS 5
[myViewController presentingViewController]

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

if ([[myViewController presentingViewController] isKindOfClass:[myParentClassA class]])
{
  // do anything
}

答案 2 :(得分:0)

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

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

}

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