私はXcode4.5と新しいiOS6機能を使用してセグエをほどきます。バーボタンアイテムからプログラムで表示されるポップオーバー内にナビゲーションビューコントローラーを表示しています。
- (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];
}
}
このメソッドの隣に、セグエをほどく(つまり、ポップオーバーを閉じる)ターゲットを定義しました...
- (IBAction)cancelConfig:(UIStoryboardSegue *)segue
{
//
}
...そしてそれをナビゲーションビューコントローラーのナビゲーションバーのキャンセルボタンに接続しました。
キャンセルバーボタンをcancelConfigボタンに接続すると、Xcodeでは正常に機能しました。
ただし、コードを実行しているときは、Xcode 4.5がセグエをほどくときにポップオーバーを閉じることをサポートしているはずですが(リリースドキュメントによると)、[キャンセル]ボタンをクリックしても何も起こりません。
私は何を取りこぼしたか?
ありがとうございました!