我在不使用 xib 文件的情况下以编程方式创建了一个 NavigationBar。 并创建一个带有文本“left”的左按钮,添加到导航栏,并将标题设置为“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];
}
但是程序可以成功设置navigationbar背景图,显示左键,但是不能设置title。这么奇怪?
补充: 我使用 cordova 框架来调用 .并且该接口(interface)仅提供给 cordova 调用。 感谢下面的回答,但我仍然无法解决我的问题。
屏幕截图:(注意:显示左键但不显示标题)
最佳答案
UIBarButtonItem *_backButton = [[UIBarButtonItem alloc] initWithTitle:@"left" style:UIBarButtonItemStyleDone target:nil action:nil];
self.navigationItem.backBarButtonItem = _backButton;
self.navigationItem.title=@"Demo";
[_backButton release],
[_backButton = nil];
关于iphone - ios : create NavigationBar programmatically, 但无法设置标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12512288/