ios:以编程方式创建NavigationBar,但无法设置标题

时间:2012-09-20 12:09:08

标签: iphone ios navigation uinavigationbar

我在不使用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 :(注意:显示左侧按钮但未显示标题)

enter image description here

5 个答案:

答案 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/