iPhone中未正确设置自定义字体

时间:2013-09-25 10:03:08

标签: iphone ios uifont

我在我的应用程序中使用自定义字体。我已将其设置为标签,按钮和文本字段。但是当我使用自定义字体时,所有对象的文本对齐都会发生变化。它的显示从顶部。

以下是默认字体的标签:

enter image description here

以下是自定义字体的标签:

enter image description here

以下是代码:

    lbl.textAlignment = NSTextAlignmentCenter;
    lbl.backgroundColor = [UIColor redColor];
    [lbl setFont:[UIFont fontWithName:@"HelveticaNeueLTStd-ThCn" size:[lbl.font pointSize]]];

任何指针?

2 个答案:

答案 0 :(得分:0)

NSTextAlignment的正确值为:

typedef enum _NSTextAlignment {
   NSLeftTextAlignment      = 0,
   NSRightTextAlignment     = 1,
   NSCenterTextAlignment    = 2,
   NSJustifiedTextAlignment = 3,
   NSNaturalTextAlignment   = 4
} NSTextAlignment;

NSTextAlignmentCenter不是有效值。

参考:https://developer.apple.com/library/mac/documentation/cocoa/reference/ApplicationKit/Classes/NSText_Class/Reference/Reference.html#//apple_ref/c/tdef/NSTextAlignment

答案 1 :(得分:0)

可能有两种选择: 1)您可以覆盖drawText方法

- (void) drawTextInRect:(CGRect)rect
{   
    UIEdgeInsets insets = {0,5,0,5};

    [super drawTextInRect:UIEdgeInsetsInsetRect(rect, insets)];
}

2)您可以使用sizeToFit方法获取UILabel的精确高度和宽度。