我正在创建一个自定义的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后,我得到以下结果之一。
为什么第二个结果中的按钮文本“浮动”高于它应该的值?第一个按钮看起来很棒,但第二个按钮以不自然的方式定位文本......这可能是我的字体有问题吗?
正确显示按钮文字
恼人的浮动按钮文字太高了!
答案 0 :(得分:1)
对于某些字体会发生这种情况,我不知道为什么,但我建议您使用UIEdgeInsets
将文字向下推。我想你无法修复你的字体,所以;
以下是类似解决方案的链接; Aligning text and image on UIButton with imageEdgeInsets and titleEdgeInsets