UINavigationBar title

半世苍凉 提交于 2019-12-19 10:35:17

问题


I am trying to use a UILabel to replace the title at the UINavigationBar, the code is as follows:

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];

The problem is that, how do I remove the original title of the bar? I didn't declare any self.title = @"title", but it always shows it there:

If I do self.title = nil, then everything is gone... How do eliminate this mysterious title from the navbar and just use the UILabel I created.


回答1:


Why don't you just do self.title = @""?

EDIT: Try this?

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];



回答2:


Use self.navigationItem.titleView = nav_title; instead of adding your label as a subview.




回答3:


Use this:

  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..!


来源:https://stackoverflow.com/questions/5928851/uinavigationbar-title

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!