如何在iPhone的邮件应用程序中创建UIToolBar最新更新标签

时间:2010-12-17 13:44:05

标签: ios fonts ios4 uibarbuttonitem uitoolbar

所以我有一个带有“label”(实际上是UIBarButtonItem)的UIToolbar就像这样:

alt text

为了实现它,我使用了界面构建器并在工具栏中放置了一个UIBarButton项,并将样式设置为“plain”。但是,正如标题所说,我正在尝试复制iPhone邮件应用程序底部的文本,因此首先我需要更改字体大小和字体类型。我该怎么办呢?以下是相关代码:

- (void)viewDidLoad {
    [super viewDidLoad];

    lastUpdateLabel.title = @"Last updated...";//lastUpdateLabel is of type UIBarButtonItem  

    [self.view addSubview:self.navigationController.view];

    [self.navigationController.view setFrame:self.view.frame];

}

我知道我可能需要并排使用三种不同的标签来解释邮件应用标签中字体粗细(粗体/非粗体?)的变化。但是,我想在继续之前尝试修改一个。

另外,我想知道如何使“标签”不可点击。如果我使用setEnabled:NO文本变灰,这不是我想要的。我想要的只是在点击“标签”时不会出现点击动画。

提前致谢!

编辑:

所以我最终用以下代码创建了一个标签:

UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 150.0f, 20.0f)];
    label.text = @"last updated...";
    label.textColor = [UIColor colorWithWhite:0.5 alpha:1.0];
    label.font = [UIFont systemFontOfSize:13.0];
    label.userInteractionEnabled = NO;

    [lastUpdateLabel initWithCustomView:label];
    [label release];

结果如下:

alt text

但是,我希望标签的背景不是白色的,更具体地说,我希望背景清晰,以便工具栏的灰色阴影显示出来。但是我没有在UILabel文档中找到任何背景属性。有人知道怎么做这个吗?谢谢!

2 个答案:

答案 0 :(得分:2)

您应该使用包含UILabel的自定义栏按钮项作为自定义视图。这样,您可以通过标签的属性更改字体大小等。

UILabel *label = [[[UILabel alloc] initWithFrame:myFrame] autorelease];
...
UIBarButtonItem *statusItem = [[[UIBarButtonItem alloc] initWithCustomView:label] autorelease];
myToolbar.items = [NSArray arrayWithObject:statusItem];

答案 1 :(得分:1)

UILabel是UIView的子类,它具有backgroundColor属性。只需致电label.backgroundColor = [UIColor clearColor];