2

我使用下面的代码在导航栏中有一个标题标签。我似乎无法将其调整到完整视图的宽度。知道我该如何解决这个问题吗?

我认为self.view.bounds.size.width将其调整为视图的整个宽度。

这是我的导航栏标题标签代码,还有一个屏幕截图可以直观地显示问题。

谢谢您的帮助

 UILabel* tlabel=[[UILabel alloc] initWithFrame:CGRectMake(0,0, self.view.bounds.size.width, 48)];
tlabel.text=self.navigationItem.title;
tlabel.text = @"someText"; 
tlabel.font = [UIFont fontWithName:@"DIN-Bold" size:20];
tlabel.textColor=[UIColor whiteColor];
tlabel.backgroundColor = [UIColor colorWithRed:(219/255.0) green:(52/255.0) blue:(31/255.0) alpha:1] ;
tlabel.adjustsFontSizeToFitWidth=YES;
tlabel.textAlignment = UITextAlignmentCenter;
self.navigationItem.titleView=tlabel;

在此处输入图像描述

从 Paras Joshi 更改代码后,右侧是正确的,但左侧是关闭的。

在此处输入图像描述

4

3 回答 3

1

使用我添加UILabel的下面的代码UIView,然后将该视图设置为titleView ...

UIView *headerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 48)];
UILabel* tlabel=[[UILabel alloc] initWithFrame:CGRectMake(0,0, 320, 48)];
tlabel.text=self.navigationItem.title;
tlabel.text = @"someText"; 
tlabel.font = [UIFont fontWithName:@"DIN-Bold" size:20];
tlabel.textColor=[UIColor whiteColor];
tlabel.backgroundColor = [UIColor colorWithRed:(219/255.0) green:(52/255.0) blue:(31/255.0) alpha:1] ;
tlabel.textAlignment = UITextAlignmentCenter;   
[headerView addSubview:tlabel];
self.navigationItem.titleView = headerView;

或添加为如下子视图。

[self.navigationController.navigationBar addSubview:tlabel];
于 2013-08-02T10:50:02.780 回答
0

您是否已导入 uikit 框架。导入它以使其无错误

于 2013-08-02T11:08:12.977 回答
0

Try it with:

UILabel* tlabel=[[UILabel alloc] initWithFrame:CGRectMake(0,0, [UIScreen mainscreen].bounds.size.width, 48)];

May be it works.

于 2013-08-02T10:39:43.750 回答