1

スタイル/メディア/ツールなどの間をタップするときに、iPad のページで見られるように、別の UIBarButtonItem がタップされた場合、現在表示されている UIPopoverControllers を閉じようとしています。

私はこれを行いましたが、具体的すぎます。一般的なものを探しています。

if ([popoverController isPopoverVisisble]) {
[popoverController dismissPopoverAnimated:YES];
}

ありがとう!

4

3 に答える 3

2

ポップオーバー コントローラーの passthroughViews プロパティを設定しましたか? これを行うと、ポップオーバーの外側をタップしてもポップオーバーは自動的に閉じられず、代わりにその配列のビューに送信されます。この配列に UIBarButtonItem を追加してから、そのハンドラーでポップオーバーを閉じることができるはずです。

于 2010-07-15T23:29:07.680 に答える
1

randallmeadows の回答は機能しません。UIBarButtonItem は UIView の子孫ではないため、パススルー ビューに追加することはできません。

今のところ見つけた唯一の解決策は、カスタムUIButtonを使用してUIBarButtonItemを作成することです

   UIBarButtonItem *b =  [[UIBarButtonItem alloc] initWithCustomView:button]

その後

 popoverController.passthroughViews = [NSArray arrayWithObject:b.customView];

ただし、すべてのスタイリングが失われることに注意してください。UIBarButtoItem のように見える UIButton を簡単に作成することはできません。

于 2011-04-06T02:01:39.803 に答える