在UINavigationBar中更改文本颜色

时间:2010-08-23 20:35:43

标签: iphone uinavigationbar

我之前已经看过这个问题,并在简单的视图中找到了如何做到这一点的答案。但是......当我进入后视图推入视图堆栈时,手动设置titleView无法解决问题。 titleView视图被推向右侧,而后退按钮及其文本占据了UI的左半部分。

有没有标准的方法来做到这一点?我注意到Gowalla应用显然做得很好。我尝试了很多方法,包括类别,子类等,但没有运气。

1 个答案:

答案 0 :(得分:4)

每个UIViewController都有自己的navigationItem,其中(可能)有titleView。当您在导航控件中推送和弹出视图控制器时,navigationItem的部分就是您所看到的。如果您想要自定义标题颜色,则可以在每个视图控制器中轻松执行以下操作。

- (UINavigationItem *)navigationItem
{
    UINavigationItem *navigationItem = [super navigationItem];
    UILabel *customLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 320.0f, 44.0f)];
    customLabel.text = @"My Title";
    customLabel.textColor = [UIColor purpleColor];
    navigationItem.titleView = customLabel;
    [customLabel release];
    return navigationItem;
}