UISplitViewControllerDelegate
は、UISplitViewControllerが横向きに回転したときにUIBarButtonItem
とUIPopoverController
を受け取っています。以下の委譲メソッドが実装されます。UISplitViewController:BarButtonItemをタップしたときに他のポップオーバーを解除するにはどうすればいいですか?
- (void)splitViewController:(UISplitViewController *)svc
willHideViewController:(UIViewController *)aViewController
withBarButtonItem:(UIBarButtonItem *)barButtonItem
forPopoverController:(UIPopoverController *)pc
{
barButtonItem.title = self.title;
myViewController.splitViewBarButtonItem = barButtonItem;
myViewController.splitViewPopoverController = pc;
}
myViewControllerは、それがビューのナビゲーションバーにleftBarButtonItemに置かれbarButtonItemを設定した場合。 私の問題は、のleftBarButtonItemがタップされているときに、myViewControllerに別のポップオーバーがあり、これを解除する必要があるということです。他のポップオーバーを解除することは問題ではありませんが、barButtonItemをクリックするとわかりません。
どうすればこの問題を解決できますか?
申し訳ありませんが、知っている限り、* passThroughViews *プロパティは、そのプロパティで指定されたビューをタップすると、* UIPopOverController *がポップオーバーを解除しないようにします。たぶん私は十分にはっきりしていないかもしれませんが、* splitViewController *から提供された* barButtonItem *がタップされたときに、2回目のポップオーバーを解除する必要があります。 – dhrm
いつバーボタンがクリックされたかを知りたい。これを追加するとポップオーバーが表示されるにもかかわらず、バーボタンのセレクタが起動します。私はあなたがそこからそれを取ることができると思います。 – sElanthiraiyan
しかし、* barButtonItem *のセレクタによってどのメソッドが呼び出されますか?ボタンはsplitViewController(私が知る限り)によって生成され、 'splitViewController:willHideViewController:withBarButtonItem:forPopoverController:'メソッドで私のために処理されます。 – dhrm