2012-02-01 64 views
1

我使用UITpbarViewController和UITabbarController作爲主視圖和導航控制器作爲詳細視圖。主視圖中的每個選項卡都包含一個導航控制器。當選擇了主視圖中的任何選項卡時,將在詳細視圖導航控制器上按下視圖。UISplitViewController彈出窗口爲空

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按預期被解僱。

不能工作的兩件事情是

  1. 的酥料餅已出現在自己的每一次應用程序切換到肖像模式,無需選擇按鈕,用戶添加到導航欄
  2. 在有些場合我需要以編程方式解除流行。

我曾嘗試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]; 
} 

這每一次增加了一個黑色半透明酥料餅的方向變化。如何讓它顯示瀏覽按鈕在點擊時顯示的內容? 通常解僱的PvovoerAnimated似乎並沒有在這裏工作。

任何幫助表示讚賞。

回答

0

使用performSelector:withObject:afterDelay:修復問題