2

在我的splitviewcontroller iPad應用程序中我顯示一個自定義popover(加載rootviewController)。如何不僅顯示錶格視圖,而且還顯示一個導航欄(顯示錶格標題「Categories」)。UIPopover中的導航欄

這裏是我的應用程序:

enter image description here

我的代碼,以顯示酥料餅:

- (IBAction)showPopover:(UIButton *)sender { 
if([self.popoverController isPopoverVisible]) 
{ 
    [self.popoverController dismissPopoverAnimated:YES]; 
    return; 
} 

// Build a custom popover view 
TemplatesAppDelegate *delegate = (TemplatesAppDelegate*)[[UIApplication sharedApplication] delegate]; 

// Create a popover controller 
self.popoverController = [[[UIPopoverController alloc] initWithContentViewController:delegate.rootViewController] autorelease]; 

// Present the popover view non-modal at the pressed button's position 
[self.popoverController presentPopoverFromRect:sender.frame inView:self.view permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES]; 
} 

回答

1

如果你想與所有功能全的UINavigationController,就可以像

UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:delegate.rootViewController]; 

self.popoverController = [[[UIPopoverController alloc] initWithContentViewController:navController] autorelease]; 
[navController release]; 

或者如果你只想要一個導航欄,你可以添加到你的p opovercontroller。

UINavigationBar *tableViewNavigationBar = [[UINavigationBar alloc] initWithFrame: CGRectMake(0.0f, 0.0f, 320.0f, 44.0f)]; 
[self.popoverController addSubView:tableViewNavigationBar]; 

我沒有測試代碼,但它應該工作。

+0

感謝。對我來說,解決方案是: – Stefan 2011-02-16 17:28:40

0

你可以試試這個:

CNYAssetTypeViewController *avc=[[CNYAssetTypeViewController alloc] init]; 
if([[UIDevice currentDevice]userInterfaceIdiom]==UIUserInterfaceIdiomPad){ 
    UINavigatinoController *nv=[[UINavigationController alloc]initWithRootViewController:avc]; 
    self.assetTypeControllerPopover=[[UIPopOverController alloc]initWithContentViewController:nv]; 
    self.assetTypeControllerPopover.delegat=self; 
    [email protected]"CNY"; 
    [self.assetTypeControllerPopover presentPopoverFromBarButtonItem:sender permittedArrowDirections:UIPopOverArrowDirectionAny animated:YES]; 
}else{ 
    [self.navigationController pushViewController:avc animated:YES];  
}