IOS工具栏不显示

我是新来的ios编程。 我遇到的问题是我已经在我的xib文件中设置了一个工具栏,但运行应用程序后,工具栏不显示。 我已经在viewDidLoad函数和delegate.m类中添加了这两行,但仍然没有显示工具栏

self.navigationController.toolbarHidden = NO; 

这是我的代码

 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults]; NSArray *languages = [userDefaults objectForKey:@"AppleLanguages"]; EPubViewController *epubView = [[EPubViewController alloc] init]; [epubView loadEpub:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"AtoZbook" ofType:@"epub"]]]; self.navigationController = [[UINavigationController alloc]initWithRootViewController:epubView]; self.navigationController.toolbarHidden = NO; self.window.rootViewController = self.navigationController; [self.window makeKeyAndVisible]; return YES; } 

EPubViewController.m

 - (void)viewDidLoad { [super viewDidLoad]; self.navigationController.toolbarHidden = NO; loadingIndicator = [[UIActivityIndicatorView alloc]initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite]; loadingIndicator.center = CGPointMake(toolbar.frame.size.width/2 ,toolbar.frame.size.height/2); [loadingIndicator startAnimating]; toolbar.alpha = 0.8; [self.toolbar addSubview:loadingIndicator]; [webView setDelegate:self]; UIScrollView* sv = nil; for (UIView* v in webView.subviews) { if([v isKindOfClass:[UIScrollView class]]){ sv = (UIScrollView*) v; sv.scrollEnabled = NO; sv.bounces = NO; } } currentTextSize = 100; //Webview UISwipeGestureRecognizer* rightSwipeRecognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(gotoNextPage)] ; [rightSwipeRecognizer setDirection:UISwipeGestureRecognizerDirectionLeft]; UISwipeGestureRecognizer* leftSwipeRecognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(gotoPrevPage)] ; [leftSwipeRecognizer setDirection:UISwipeGestureRecognizerDirectionRight]; [webView addGestureRecognizer:rightSwipeRecognizer]; [webView addGestureRecognizer:leftSwipeRecognizer]; [self performSelector:@selector(stratRolling)]; } 

一个UINavigationController已经包含一个工具栏,你不需要自己创build一个。 如果您在“模拟度量标准”设置下添加了一个,则这仅用于显示,实际上不会将工具栏添加到视图层次结构中。

除了声明self.navigationController.toolbarHidden = NO; 您还需要在viewDidLoadEPubViewController调用[self setToolbarItems:items] ,其中items是包含UIBarButtonItemNSArray

如果你的想法是最初只在工具栏中有一个微调,你可能想看看- (id)initWithCustomView:(UIView *)customView- (id)initWithCustomView:(UIView *)customView构造UIBarButtonItem

这个问题似乎是在你的xib文件。 请检查是否为工具栏设置了自动resize? 通常应该在顶部select,并在底部select。 1)转到XIB。 2)select工具栏 按默认大小检查器将显示它像这样 3)删除底部的垂直线,并select顶部的一个。 正确的自动调整选项看起来像这样

希望这可以帮助。