UIPopoverでiPad用アプリを作成しています。異なる情報を表示する 2 つのポップオーバーを呼び出すメイン ビューがあります。ストーリーボード ポップオーバー スレッドと別のスレッドを閉じる方法のガイドラインに従っていましたが、1 つを除いてすべて正常に動作します。私のポップオーバーには、親ビューでアクションをトリガーするボタンがあります。ボタンが 1 回だけクリックされ、ポップオーバーが 1 回だけ開かれた場合でも、アクションが複数回トリガーされることがあります。私の最初の仮定は、ポップオーバーがいくつかの呼び出しからいくつかのデータをキャッシュしていたということでしたが、問題はランダムに発生するようです.
私の構成は次のとおりです。Xcode 4.2、iOS 5.0 を搭載した Mac OSx Snow Leopard。シミュレーター、iPad 5.1 および iPad 6.0 でテストした結果はすべて同じです。
メインビューView 1とポップオーバービューView 2があります
私のビュー2には、ビュー1に通知を送信するProceedButtonClickedメソッドがあります
- (IBAction) ProceedButtonClicked{
[[NSNotificationCenter defaultCenter] postNotificationName:@"proceedButtonClicked" object:self];
}
メソッドは、ポップオーバー ビューのボタンにバインドされます。view1 (親ビュー):
- (void)viewDidLoad
{
[super viewDidLoad];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(ButtonClicked:) name:@"proceedButtonClicked" object:nil];
}
- (void) ButtonClicked:(NSNotification *) notification {
NSLog(@"I'm here ...");
//dismiss popover
if (paramPopover)
[paramPopover dismissPopoverAnimated:YES];
}
私はiPadの開発にかなり慣れていないので、コードに明らかな何かが欠けている可能性がありますが、今まで検索しても何も見つかりませんでした。どんな助けでも大歓迎です。ありがとうございました。