带UINavigationController的ipad UIPopoverController

带UINavigationController的ipad UIPopoverController,ipad,uipopovercontroller,popover,Ipad,Uipopovercontroller,Popover,如何使用集成的UIPopoverController创建UIPopoverController,以便能够在UIPopoverController中左右滑动视图(带有导航栏) 更新: 我像这样打开弹出窗口 - (void)showSettingsViewAtSenderForIPad:(id)sender { if (!settingsPopoverController_) { SettingsPopoverController *settings = [[Set

如何使用集成的UIPopoverController创建UIPopoverController,以便能够在UIPopoverController中左右滑动视图(带有导航栏)

更新: 我像这样打开弹出窗口

- (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];
    }
}
我在UINavigationController中创建了一个控制器,其中有一个NSTableViewController作为根控制器

@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)。 修理

解决方案:
找到解决方案:

创建新的nib和UIViewController。作为顶级视图,这个nib有一个简单的UIView和一个UINavigationController。UINavigationController的顶部UIViewController是您希望首先显示的任何视图控制器

然后在popover控制器中显示此nib。在视图中,您可以执行如下操作:

-(void)viewDidLoad
{
    [self.view addSubview:self.navigationController.view];
}
这会将导航控制器的视图添加到nib中的视图中,从而允许显示该视图