我在不使用xib文件的情况下编程创建NavigationBar。 并创建一个左侧按钮,文本“left”,添加到navigationBar,并将标题设置为“Demo”。
代码:
-(void) createNavBar:(NSMutableArray *)arguments withDict:(NSMutableDictionary *)options
{
self.navBarController = [[[UINavigationController alloc] init] autorelease];
navBar = [navBarController navigationBar];
navBarController.navigationBar.bounds = CGRectMake(0, 0, 320, navBarHeight);
[navBarController.navigationBar setBackgroundImage:[[UIImage imageNamed:@"www/images/ios_hd_bg.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(10, 0, 2, 0)]
forBarMetrics:UIBarMetricsDefault];
[navBarController view];
navBarController.navigationItem.title = @"title";
[navBarController.view setFrame:navBarController.navigationBar.bounds];
UIButton* button = [UIButton buttonWithType:UIButtonTypeCustom];
button = [self renderNavBarTextBtn:@"left" withButton:button direction:@"left"];
[navBar addSubview:button];
[[[self webView] superview] addSubview: navBarController.view];
}
但是,程序可以成功设置导航栏背景图像,显示左键,但无法设置标题。太奇怪了?
互补物: 我使用cordova框架来调用。和inteface只是提供给cordova调用。 感谢下面的答案,但我仍然无法解决我的问题。
ScreenShot :(注意:显示左侧按钮但未显示标题)
答案 0 :(得分:4)
UIBarButtonItem *_backButton = [[UIBarButtonItem alloc] initWithTitle:@"left" style:UIBarButtonItemStyleDone target:nil action:nil];
self.navigationItem.backBarButtonItem = _backButton;
self.navigationItem.title=@"Demo";
[_backButton release],
[_backButton = nil];
答案 1 :(得分:1)
请试试这个:
self.navigationItem.title=@"Your Title";
答案 2 :(得分:0)
设置
navBar.title =@"Your title";
答案 3 :(得分:0)
您可以设置视图标题,在导航栏上显示标题
self.title=@"My Navigation View";
或者您可以在要显示的视图中设置navigationBarTitle
self.navigationItem.title=@"My Navigation";
答案 4 :(得分:0)
试试这段代码:
//nativeControls.hideLeftNavButton();
nativeControls.setupRightNavButton(
"About",
"",
"onRightNavButton"
);
nativeControls.showNavBar();
另请参阅此博客: http://zsprawl.com/iOS/2012/05/navigation-bar-with-nativecontrols-in-cordova/