【发布时间】:2013-04-18 20:12:01
【问题描述】:
我有一个简单的 UINavigationController,它通过自定义 segue 将 UIViewController 推送到堆栈上。然后我在第一个 UIViewController 上实现了一个 IBAction 来执行展开操作,然后我实现了 segueForUnwindingToViewController。不幸的是,没有调用 segueForUnwindingToViewController(我确实确认在第一个 VC 上调用了 canPerformUnwindSegue)。
我还没有看到这种行为的任何简单示例。有人可以帮忙吗?谢谢。
这是来自 NavigationController 的根视图控制器的代码。
- (IBAction) unwindFromSegue:(UIStoryboardSegue *)segue {
// unwinds back to here
//[self performSegueWithIdentifier:@"UnwindToObjectManageSegue" sender:self];
}
- (BOOL)canPerformUnwindSegueAction:(SEL)action fromViewController:(UIViewController *)fromViewController
withSender:(id)sender {
return YES;
}
- (BOOL)shouldPerformSegueWithIdentifier:(NSString *)identifier sender:(id)sender {
return YES;
}
- (UIStoryboardSegue *)segueForUnwindingToViewController:(UIViewController *)toViewController
fromViewController:(UIViewController *)fromViewController
identifier:(NSString *)identifier {
ObjectManageObjectDetailSegue *segue = [[ObjectManageObjectDetailSegue alloc] initWithIdentifier:identifier source:fromViewController destination:toViewController];
[segue setUnwinding:YES];
return segue;
}
【问题讨论】:
-
我假设您已按照 this answer 的步骤进行操作,但对您没有任何帮助,对吗?
-
没错。我跟着它到了一个 T。不幸的是,我的 unwind segue 没有被调用。标识符被正确发送,但 segue 本身从未被调用。
-
如果有人可以发布一个示例项目来举例说明该线程中发布的内容,那就太好了。我认为这是一个很好的例子,但它相当分散。
-
你想在哪里放松?你说你正在从第一个视图控制器中解脱出来。你是指导航控制器的根视图控制器吗?
-
请发布您的展开方法的代码。
标签: ios uistoryboardsegue