質問

非常に独特のバグ:

私はそのようなuipopoverControllerを飛び出すBarbuttonitemを持っています:

-(void) addNewProjectButtonClicked:(id)sender
{
    //Some Preparations....

    [popover presentPopoverFromBarButtonItem:sender permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
}

予想どおり、ポップオーバーコントローラーが適切な場所に表示されます。

今、私は触れているときにそれを期待しています どこでも ポップオーバーの外では却下されます。
まあ、唯一の問題は、古いものを却下して予想どおりに新しいものを提示する代わりに、私が再びBarbutton(ポップオーバーをポップオーバーにポップしたもの)を叩いたとき、結果は 既存の上にポップオーバー。つまり、何度も何度も押し込むと、他の場所で複数のクリックでのみ却下できるポップオーバーの山があります。

ここでは、ここでシングルトンのデザインパターンの缶を使用できることは知っていますが、それを処理するための簡単で組み込みの方法はありませんか?

ありがとう!

役に立ちましたか?

解決

私は数ヶ月前に同じ問題に遭遇しました、私がタップしたとき、それは自分自身を却下すると思いました なんでも しかし、そうではありません。

私がこれを扱っている方法は、古いポップオーバーへの言及を維持し、それを却下することです UIBarButtonItem タップされています。

-(void) addNewProjectButtonClicked:(id)sender
{
    [popover dismissPopoverAnimated:YES];
    // Set it up again.
    [popover ...];
}

簡単なメモリ管理のためにプロパティを使用したり、自分で処理することもできます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top