我有一个子视图控制器,由位于 storyboard 中不同位置的两个视图控制器调用。在这个孩子中有一个关闭实际视图的按钮,我想指定 IBAction 或 Segue 来连接此视图与真正的父视图控制器< /强>
也许我错了,但是可以用 Unwind Segue 做到这一点?这是我第一次使用这些,有人可以帮我吗?
非常感谢!和平
答案 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 {
}
展开机制会自动遍历响应者链并找到正确的父视图控制器