3

我正在创建一个自定义 UIBarButtonItem,如下所示:

    UIImage *originalImage = [UIImage imageNamed:@"button"];
    UIImage *buttonImage = [originalImage stretchableImageWithLeftCapWidth:10 topCapHeight:5];

    UIButton *toolbarB = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 65, 29)];
    [toolbarB setTitle:title forState:UIControlStateNormal];
    [toolbarB.titleLabel setFont:[UIFont fontWithName:kLatoBold size:17.0f]];
    [toolbarB setBackgroundImage:buttonImage forState:UIControlStateNormal];
    [toolbarB addTarget:target action:selector forControlEvents:UIControlEventTouchUpInside];

    UIBarButtonItem *barButtonItem = [[UIBarButtonItem alloc] initWithCustomView:toolbarB];

根据我使用的自定义字体,将 UIBarButtonItem 插入控制器的 navigationItem 后,我得到以下结果之一。

为什么第二个结果中的按钮文本“浮动”高于预期?第一个按钮看起来很棒,但第二个按钮以不自然的方式放置文本......可能是我的字体有问题吗?

按钮文字正确显示

在此处输入图像描述

烦人的浮动按钮文本太高了!

在此处输入图像描述

4

1 回答 1

1

某些字体会发生这种情况,我不知道为什么,但我建议您使用UIEdgeInsets将文本向下推一点。我猜你无法修复你的字体,所以;

这是类似解决方案的链接;使用 imageEdgeInsets 和 titleEdgeInsets 对齐 UIButton 上的文本和图像

于 2013-05-25T00:33:37.370 回答