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];
}
这会增加你的导航控制器的观点,在你的笔尖,这使得它能够显示您的视图。