2012-02-01 72 views
1

我已經使用Master-Detail Templte與storyboard創建了新的應用程序。我想給用戶設施他們可以在景觀模式下隱藏/顯示主視圖控制器。我在網上發現了一些例子,但沒有一個在導航控制器中使用故事板和Master-Detail模板。在Master-Detail應用程序中使用Storyboard(XCode 4.2)隱藏MasterViewController

我已經實現了splitviewcontroller willHideViewController & willShowViewController幫助我在縱向模式下隱藏主視圖控制器。我使用下面的代碼在應用程序委託的didFinishLaunchingWithOptions方法intially加載意見,

UISplitViewController *splitViewController = (UISplitViewController *)self.window.rootViewController; 
UINavigationController *navigationController = [splitViewController.viewControllers lastObject]; 
splitViewController.delegate = (id)navigationController.topViewController; 

我想如果並欣賞你可以點我正確的方向。

謝謝, 塔潘德賽

回答

0

主視圖被呈現在酥料餅和酥料餅可用於控制主的可見性。

所以......請按照下列步驟操作:

1)創建一個屬性來保持popoverController

@property (nonatomic, strong) UIPopoverController *pc; 

2)捕獲popoverController上SplitViewController willHide委託調用

-(void) splitViewController:(UISplitViewController *)svc 
    willHideViewController:(UIViewController *)aViewController 
      withBarButtonItem:(UIBarButtonItem *)barButtonItem 
     forPopoverController:(UIPopoverController *)pc 
{ 
    barButtonItem.title = @"Menu"; 
    id detailViewController = [self.splitViewController.viewControllers lastObject]; 
    [detailViewController setSplitViewBarButtonItem:barButtonItem]; 
    self.pc = pc; //poppver controller 
} 

3)最後只需使用pc var關閉彈出框

if (self.pc) { 
     [self.pc dismissPopoverAnimated:YES]; 
    } 
相關問題