2011-04-18 52 views
1

如何創建一個帶集成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

回答

2

您創建一個新的筆尖和一個UIViewController。由於它是頂層視圖,因此該筆尖具有簡潔的簡潔UIView和UINavigationController。 UINavigationController的頂部UIViewController是您想要首先顯示的任何視圖控制器。

然後,在彈出控制器中顯示此筆尖。在視圖做負載,你做這樣的事情:

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

這會增加你的導航控制器的觀點,在你的筆尖,這使得它能夠顯示您的視圖。

相關問題