我有一个基于 tableview 的导航控制器。根视图控制器有一个 + 按钮,用于添加一个新项目。这会导致向视图控制器推送 segue,从而允许用户输入新项目的数据。
在这个视图控制器上,左上角的导航栏项目是标有“后退”的标准按钮。我已将“保存”[bar] 按钮 [item] 作为右上角的导航栏项。
我创建了一个展开 IBAction 推送视图控制器。
然后,我从 Save 按钮控制拖动到视图控制器上的出口,并将其连接到 unwind IBAction。
当我点击“保存”按钮时,会调用此展开操作。
但是,我在展开操作中所做的任何操作都不会弹出视图控制器。这是一个小代码:
- (BOOL)canPerformUnwindSegueAction:(SEL)action fromViewController:(UIViewController *)fromViewController withSender:(id)sender {
return YES;
}
- (BOOL)shouldPerformSegueWithIdentifier:(NSString *)identifier sender:(id)sender {
NSLog( @"Should seque from %@", identifier );
return YES;
}
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
}
- (IBAction)unwindFromGoalEdit:(UIStoryboardSegue *)segue {
NSLog( @"UNWINDING!!");
[self.navigationController popToViewController:segue.destinationViewController animated:YES];
}
在下面的展开操作中,我尝试了各种方法来弹出视图控制器。但什么也没有发生。没有运行时错误,什么都没有。但是我确实看到了 NSLog() 所以我知道它被调用了。
想法?