【发布时间】:2012-11-07 13:56:57
【问题描述】:
我正在使用 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
{
//
}
...并将其连接到导航视图控制器导航栏中的取消按钮。
在 Xcode 中将取消栏按钮连接到 cancelConfig 按钮可以正常工作。
但是,在运行代码时,尽管 Xcode 4.5 应该支持在展开 segues 时关闭弹出框(根据发布文档),但在单击“取消”按钮时没有任何反应。
我错过了什么?
谢谢!
【问题讨论】:
-
您好,您找到解决方案了吗?我也卡在这里了
-
Dan,很遗憾我还没有找到解决这个问题的方法。我仍在使用普通的委托,希望苹果能尽快解决这个问题。找到解决方案后请告诉我。
标签: objective-c ios uipopovercontroller xcode4.5 uistoryboardsegue