ipad带UINavigationController的UIPopoverController

问题描述:

如何创建一个带集成UINavigationController的UIPopoverController,这样我就可以在UIPopoverController左右滑动视图(带导航栏)。ipad带UINavigationController的UIPopoverController

UPDATE: 我打开这样

- (void)showSettingsViewAtSenderForIPad:(id)sender 
{ 
    if (!settingsPopoverController_) 
    { 
     SettingsPopoverController *settings = [[SettingsPopoverController alloc] init]; 
     settings.valuesGeneratorOptions = valuesGeneratorOptions_; // setting variables 

     self.settingsPopoverController_ = [[[UIPopoverController alloc] initWithContentViewController:settings] autorelease]; 
     [settingsPopoverController_ setDelegate:self]; 
     [settingsPopoverController_ setPopoverContentSize:CGSizeMake(320, 480)]; 

     [settings release]; 
    } 

    if (!infoPopoverController_.popoverVisible) 
    { 
     [settingsPopoverController_ presentPopoverFromBarButtonItem:sender permittedArrowDirections:UIPopoverArrowDirectionAny animated:NO]; 
    } 
} 

弹出我创建具有NSTableViewController如UINavigationController的

@interface SettingsPopoverController : UIViewController 
{ 
    ValuesGeneratorOptions *valuesGeneratorOptions; 
    IBOutlet SettingsViewController *settingsViewController; 
    IBOutlet UINavigationController *navigationController; 
} 
... 
@implementation SettingsPopoverController 
... 
- (void)viewDidLoad 
{ 
    self.settingsViewController.valuesGeneratorOptions = self.valuesGeneratorOptions; 
    [self.view addSubview:self.navigationController.view]; 

    [super viewDidLoad]; 
} 
... 
end 

的问题是一个根控制器的控制器,该表是不可滚动在弹出窗口内。它也忽略了表格样式(initWithStyle未被调用)。 修复?

SOLUTION: 找到了解决办法:popOver table view

您创建一个新的笔尖和一个UIViewController。由于它是顶层视图,因此该笔尖具有简洁的简洁UIView和UINavigationController。 UINavigationController的顶部UIViewController是您想要首先显示的任何视图控制器。

然后,在弹出控制器中显示此笔尖。在视图做负载,你做这样的事情:

-(void)viewDidLoad 
{ 
    [self.view addSubview:self.navigationController.view]; 
} 

这会增加你的导航控制器的观点,在你的笔尖,这使得它能够显示您的视图。