我正在使用 Xcode 4.5 和新的 iOS 6 功能来解除 segues。我在弹出框内展示了一个导航视图控制器,它以编程方式从条形按钮项中展示:
- (IBAction)configChartTapped:(id)sender
{
if (self.popover.isPopoverVisible) {
[self.popover dismissPopoverAnimated:YES];
} else {
UINavigationController *chartConfigNavigationController = [self.storyboard instantiateViewControllerWithIdentifier:@"GrowthChartNavigationController"];
ConfigChartTypeViewController *configChartTypeViewController = (ConfigChartTypeViewController*) chartConfigNavigationController.topViewController;
self.popover = [[UIPopoverController alloc]initWithContentViewController:chartConfigNavigationController];
self.popover.popoverContentSize = CGSizeMake(320, 500);
self.popover.delegate = self;
[self.popover presentPopoverFromBarButtonItem:sender permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
}
}
在这个方法旁边,我定义了一个目标来展开 segue(即解除弹出窗口)......
- (IBAction)cancelConfig:(UIStoryboardSegue *)segue
{
//
}
...并将其连接到导航视图控制器导航栏中的取消按钮。
将取消栏按钮连接到 cancelConfig 按钮在 Xcode 中工作正常。
但是,在运行代码时,尽管 Xcode 4.5 应该支持在展开 segues 时关闭弹出框(根据发布文档),但在单击“取消”按钮时没有任何反应。
我错过了什么?
谢谢!