2013-06-12 64 views
4

我有一个使用自定义字体的UIButton的子类。问题是大写字母不显示diaeresis。自定义字体不以大写字母显示diaeresis

下面是使用和不使用自定义字体的相同按钮示例的图像。我将标题的背景颜色设置为红色以查看发生了什么。

没有自定义字体

without custom font

使用自定义字体

with custom font

UIButton子类覆盖awakeFromNib

- (void)awakeFromNib 
{ 
    [super awakeFromNib]; 
    UIFont *font = [UIFont fontWithName:@"TitilliumText22L-Bold" size:self.titleLabel.font.pointSize]; 
    self.titleLabel.font = font; 
} 

任何人都可以告诉我该做什么才能在大写字母上显示分泌物吗?

谢谢。

+1

检查也可能是你的问题是同样喜欢http://stackoverflow.com/questions/13225761/custom-font-on-uibutton- title-clipped-on-top-of-word?rq = 1 – jamil

+0

获得标题标签ref并尝试增加其高度可能应该起作用 – amar

+0

@Bob苹果感谢,这可能是一个丑陋的解决方法。无论如何,如果有人知道更好的解决方案,那就太好了。 –

回答

3

https://stackoverflow.com/a/8314197/617787

唯一需要注意的解决方案(改变字体文件的“ascender”)是使用这种修改过的字体的多行UILabels上的行之间的空间也会改变,所以你可以使用NSAttributedString来修改它在每个案件的基础上。

0

好像是在获得晋级文本,尽量减少字体大小或改变titleLable的框架我通过以下由鲍勃 共享的问题这个答案解决了这个问题(UIButton的财产)

+0

更改字体大小不会工作,我试过了 –

1

我已经做了一些测试,这个土耳其字,看到的结果是:

3 Buttons and 1 UILabel with NeoSansPro font and capital TR chars

  1. UILabels正确显示大写字母。
  2. 带有helvetica字体的UIButton会正确显示字符(第三个按钮),但NeoSansPro系列的所有成员都会遇到问题。
  3. 的问题只发生在标题标签的顶部线(按钮2)

解决方案是:

  1. 设置标题标签的线路数:0
  2. 集标题“\ nBUTTON TITLE”而不是“BUTTON TITLE”
  3. 在IB或代码中,玩t他的内容和标题对齐,直到标题正确显示。你应该把标题向上推,如果你想要它在中间
0

我有一个类似的问题,在标题标签顶部diaeresis被切断。 我做了一个UIButton子类,使用该代码来解决这个问题:

-(void)layoutSubviews 
{ 
    [super layoutSubviews]; 

    CGRect frame = self.titleLabel.frame; 
    frame.size.height = self.bounds.size.height; 
    frame.origin.y = self.titleEdgeInsets.top; 
    self.titleLabel.frame = frame; 
}