设置下一个视图的navigationBar标题字体?有关“setTitleView”的帮助到某个标签?

发布于 2024-11-30 14:10:30 字数 839 浏览 0 评论 0原文

我正在尝试设置导航栏的标题字体,这样我就可以更改字体大小,因为我想要更长的标题...我这样做:

    - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        // Custom initialization
        UILabel *navTitle = [[[UILabel alloc] init] autorelease];
        [navTitle sizeToFit];
        [navTitle setFont:[UIFont systemFontOfSize:30]];
        [navTitle adjustsFontSizeToFitWidth];
        [navTitle setBackgroundColor:[UIColor clearColor]];
        [navTitle setTextColor:[UIColor whiteColor]];
        [navTitle setTextAlignment:UITextAlignmentCenter];
        [navTitle setText:@"SuperLongTitleOfMyNaviBar"];
        [self.navigationItem setTitleView:navTitle];

    }
    return self;
}

标题应该为空的地方...有什么建议吗?

预先非常感谢!

I'm trying to set the title font of my navigationBar, so I can change the font size, because I want a longer title... I do it like:

    - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        // Custom initialization
        UILabel *navTitle = [[[UILabel alloc] init] autorelease];
        [navTitle sizeToFit];
        [navTitle setFont:[UIFont systemFontOfSize:30]];
        [navTitle adjustsFontSizeToFitWidth];
        [navTitle setBackgroundColor:[UIColor clearColor]];
        [navTitle setTextColor:[UIColor whiteColor]];
        [navTitle setTextAlignment:UITextAlignmentCenter];
        [navTitle setText:@"SuperLongTitleOfMyNaviBar"];
        [self.navigationItem setTitleView:navTitle];

    }
    return self;
}

The place where the title should be is empty... Any suggestions?

Thanks a lot in advance!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

人生戏 2024-12-07 14:10:30

在您的代码中,当您调用 sizeToFit 时,标签没有 text。所以frame不会改变。

在将 text 分配给标签后,您应该调用 sizeToFit 方法。

In your code, at the time you call sizeToFit label has no text. So the frame won't get changed.

You should be calling sizeToFit method after you assign the text to the label.

随波逐流 2024-12-07 14:10:30

您忘记设置标签的框架 - 替换

UILabel *navTitle = [[[UILabel alloc] init] autorelease];

UILabel *navTitle = [[[UILabel alloc] initWithFrame:CGRectMake(0, 0, 260, 32)] autorelease];

您可以将 CGRectMake(0, 0, 260, 32) 替换为您的值。

You forgot to set frame of your label - replace

UILabel *navTitle = [[[UILabel alloc] init] autorelease];

with

UILabel *navTitle = [[[UILabel alloc] initWithFrame:CGRectMake(0, 0, 260, 32)] autorelease];

You can replace CGRectMake(0, 0, 260, 32) with your values.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文