【发布时间】:2013-11-22 08:59:27
【问题描述】:
我在我的storyboard 中用不同的viewcontrollers 制作了masterdetailview,并用push segue 链接了每一个。现在,当我单击列表项时,新的DetailViewController 打开,但每个都没有navigationbar。我在每个视图的顶部添加了navigation item,为每个视图添加了标题,但毕竟navigation bar 没有显示。我正在开发iPad 应用程序,并且在两个方向上都缺少导航栏。
编辑:
当您创建主从项目时,我的 appDelegate 与模板相同:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Override point for customization after application launch.
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) {
UISplitViewController *splitViewController = (UISplitViewController *)self.window.rootViewController;
UINavigationController *navigationController = [splitViewController.viewControllers lastObject];
splitViewController.delegate = (id)navigationController.topViewController;
}
return YES;
}
我的一个 DetailViewControllers:
#import "MediaExpDetailViewController.h"
@interface MediaExpDetailViewController ()
@property (strong, nonatomic) UIPopoverController *masterPopoverController;
@end
@implementation MediaExpDetailViewController
#pragma mark - Managing the detail item
- (void)setDetailItem:(id)newDetailItem
{
if (_detailItem != newDetailItem) {
_detailItem = newDetailItem;
}
if (self.masterPopoverController != nil) {
[self.masterPopoverController dismissPopoverAnimated:YES];
}
}
- (void)viewDidLoad{
[super viewDidLoad];
}
#pragma mark - Split view
- (void)splitViewController:(UISplitViewController *)splitController willHideViewController:(UIViewController *)viewController withBarButtonItem:(UIBarButtonItem *)barButtonItem forPopoverController:(UIPopoverController *)popoverController
{
barButtonItem.title = NSLocalizedString(@"MasterButton", @"Master");
[self.navigationItem setLeftBarButtonItem:barButtonItem animated:YES];
self.masterPopoverController = popoverController;
}
- (void)splitViewController:(UISplitViewController *)splitController willShowViewController:(UIViewController *)viewController invalidatingBarButtonItem:(UIBarButtonItem *)barButtonItem
{
// Called when the view is shown again in the split view, invalidating the button and popover controller.
[self.navigationItem setLeftBarButtonItem:nil animated:YES];
self.masterPopoverController = nil;
}
@end
【问题讨论】:
-
您能否添加您在 AppDelegate 和您的控制器之一中所做的代码
标签: ios objective-c ipad storyboard master-detail