我有一个名为“完成”(系统按钮)的条形按钮项目,我有一个从这个按钮开始的 segue 来推动模态视图控制器。在推送模态 VC 之前,我有一些不能为空的数据字段。所以我有一个 IBAction 附加到完成按钮。在 IBAction 方法中,如果用户按下“完成”按钮并且数据为空,则会显示警报视图,否则我调用 performSegueWithIdentifier 来推送模态视图控制器。
当应用程序在模拟器模式下运行时,即使数据为空,按下“DOne”按钮也会推动模态 VC。我的 IBAction 方法没有被调用。但是,如果我删除 Segue,然后运行该应用程序,则会显示警报视图并显示正确的消息。
不可能在 Bar Button 项目上同时拥有 IBAction/StoryBoard Segue 吗?下面是我的代码。我在故事板中创建了带有标识符“NewRelationDoneToEditRelationVCSegue”的模态类型的segue。
- (IBAction)newViewControllerDoneButtonPressed:(id)sender
{
if (self.groupSelected == NULL)
{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle: @"Select Group" message: @"Please Select a Group for your Contact" delegate: self cancelButtonTitle:@"OK" otherButtonTitles:nil];
alert.alertViewStyle = UIAlertViewStyleDefault;
[alert show];
}
else
{
NSLog(@"test");
[self performSegueWithIdentifier:@"NewRelationDoneToEditRelationVCSegue" sender:self];
}