繁体   English   中英

UINavigationBar标题

[英]UINavigationBar title

我正在尝试使用UILabel替换UINavigationBar上的标题,代码如下:

UINavigationBar *bar = [self.navigationController navigationBar];
    [bar setBackgroundColor:[UIColor blackColor]];

    UILabel * nav_title = [[UILabel alloc] initWithFrame:CGRectMake(80, 2, 220, 25)];
    nav_title.font = [UIFont fontWithName:@"Arial-BoldMT" size:18];
    nav_title.textColor = [UIColor whiteColor];
    nav_title.adjustsFontSizeToFitWidth = YES;
    nav_title.text = title;
    nav_title.backgroundColor = [UIColor clearColor];
    [bar addSubview:nav_title];
    [nav_title release];

问题是,如何删除栏的原始标题? 我没有声明任何self.title = @“ title”,但始终在其中显示:

在此输入图像描述

如果我执行self.title = nil,那么一切都荡然无存...如何从导航栏中消除此神秘标题,而仅使用我创建的UILabel。

您为什么不只做self.title = @“”?

编辑:试试这个?

UINavigationBar *bar = [self.navigationController navigationBar];
[bar setBackgroundColor:[UIColor blackColor]];

UILabel * nav_title = [[UILabel alloc] initWithFrame:CGRectMake(80, 2, 220, 25)];
nav_title.font = [UIFont fontWithName:@"Arial-BoldMT" size:18];
nav_title.textColor = [UIColor whiteColor];
nav_title.adjustsFontSizeToFitWidth = YES;
nav_title.text = title;
self.title = @"";
nav_title.backgroundColor = [UIColor clearColor];
[bar addSubview:nav_title];
[nav_title release];

使用self.navigationItem.titleView = nav_title; 而不是将标签添加为子视图。

用这个:

  UILabel *label = [[UILabel alloc]init];
  [label setBackgroundColor:[UIColor clearColor]];
  [label setTextColor:[UIColor whiteColor]];
  [label setText:self.title];
  label.adjustsFontSizeToFitWidth=YES;
  label.lineBreakMode=UILineBreakModeWordWrap;
  label.numberOfLines=0;
  [label setFont:[UIFont boldSystemFontOfSize:16.0]];
  [self.navigationController.navigationBar.topItem setTitleView:label];
  [label release];

Hope this will help u..!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM