私はUIStoryboardPopoverSegue
を使ってiOS 5 iPadアプリのポップオーバーを提示しています。 Segueはうまく機能しますが、ボタンを含むツールバーはポップオーバーコントローラーのパススルービューですので、ボタンを押し続けるとポップオーバーが多く表示されます。私はUIPopoverController
を自分で作成して追跡していないので(ストーリーボードがそれを行っているので)、ボタンが再びタッチされたときに私はそれを却下することはできません。他に誰かがこれにぶつかっていますか?私はAppleにバグがありますが、回答はありませんでした。UIStoryboardPopoverSegueボタンのタッチで複数のウィンドウを開く
EDIT:私は以下の答えを使ってこれを解決しました。ここで私が使用し終わったコードです。 currentPopover
は私のビューコントローラクラスの__weak
ivarです。コントローラが終了すると自動的にnilに落ちます。
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
if([segue isKindOfClass:[UIStoryboardPopoverSegue class]]){
// Dismiss current popover, set new popover
[currentPopover dismissPopoverAnimated:YES];
currentPopover = [(UIStoryboardPopoverSegue *)segue popoverController];
}
}
あなたの編集のおかげで、問題の洗練されたソリューション! – shapecatcher