2012-02-01 4 views
1

UITabitControllerをUITabbarControllerでマスタビューとナビゲーションコントローラとして詳細ビューとして使用しています。マスタービューの各タブには、ナビゲーションコントローラが含まれています。マスタービューのいずれかのタブが選択されると、詳細ビ​​ューナビゲーションコントローラにビューがプッシュされます。UISplitViewController Popoverが空です

recentsviewController = [[RecentsViewController_ipad alloc]initWithNibName:@"RootViewController" bundle:nil]; 
recentsNav = [[UINavigationController alloc] initWithRootViewController:recentsviewController]; 

//similarly rootNav and favNav 

NSArray* controllers = [NSArray arrayWithObjects:recentsNav,self.rootNav,favNav,nil]; 
self.tabbarController.viewControllers = controllers; 

detailViewController=[[LoginViewController_ipad alloc]init]; 
detailNav=[[UINavigationController alloc]initWithRootViewController:detailViewController]; 

splitViewController =[[UISplitViewController alloc]init]; 
splitViewController.viewControllers=[NSArray arrayWithObjects:self.tabbarController,self.detailNav,nil]; 
    splitViewController.delegate = self.detailViewController; 

[self.window addSubview:splitViewController.view]; 
[self.window makeKeyAndVisible]; 

これはうまくいくようです。アプリがポートレートモードに入ると、[参照]ボタンがナビゲーションバーに追加されます。このボタンをクリックすると、隠れたビューとタブが完全にうまく表示されます。私はタブを切り替えることができ、ポップオーバーに表示されるビューを操作することができます。 Popover領域以外でタップすると、Popoverは期待どおりに終了します。

作業していない2つの事がポップオーバーバーのボタンを選択したユーザーのないポートレートモードへの独自のたびにアプリがスイッチに表示NAVに追加する必要があります

  1. ある
  2. オンいくつかの機会に私はpopoverを計画的に却下する必要があります。

Iはfollコードを試みた:

- (void)splitViewController: (UISplitViewController*)svc willHideViewController:(UIViewController *)aViewController withBarButtonItem:(UIBarButtonItem*)barButtonItem forPopoverController: (UIPopoverController*)pc { 
barButtonItem.title = @"Browse"; 
[[self navigationItem] setLeftBarButtonItem:barButtonItem]; 
self.appDelegate.rootPopoverButtonItem = barButtonItem; 
self.appDelegate.splitViewPopover = pc; 
[self.appDelegate.splitViewPopover presentPopoverFromBarButtonItem:self.appDelegate.rootPopoverButtonItem permittedArrowDirections:UIPopoverArrowDirectionUp animated:NO]; 
} 

これは、各時間方向の変化を黒色半透明のポップオーバーを加算します。ブラウズボタンがクリックされたときに表示される内容を表示するにはどうすればよいですか? 通常のdismissPopvoerAnimatedはここでは動作しません。

何か助けていただければ幸いです。

答えて

0

performSelectorを使用:withObject:afterDelay:問題を修正しました

関連する問題