2013-09-25 4 views
0

Я использую собственный шрифт в своем приложении. Я установил это для метки, кнопки и текстового поля. Но когда я использовал пользовательский шрифт, тогда выравнивание текста по всем объектам изменяется. Его дисплей с верхней стороны.Пользовательский шрифт не установлен правильно в iPhone

Вот этикетка с шрифтом по умолчанию:

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]]]; 

Любые указатели?

+0

+1 nice issue :) – Rushabh

+0

Каждый шрифт имеет кернинг и рисунок. Вы должны точно настроить внешний вид текста, переопределив метку – Raptor

+0

@ShivanRaptor есть ли способ, которым мы можем установить правильное выравнивание от кодирования? Это связано с тем, что это создаст проблему, когда мы будем устанавливать разные шрифты из кодирования. – Nirmalsinh

ответ

0

Там может быть два варианта для этого: 1) Один вы можете переопределить DrawText метод

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

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

2) Вы можете использовать sizeToFit метод, чтобы получить точную высоту и ширину UILabel.

+0

Его работа для меня. :) – Nirmalsinh

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

Смежные вопросы