Задать вопрос

Как установить размер для UILabel, чтобы не было никаких отступов между текстом и верхней границей?

Здравствуй, уважаемое Хабрасообщество!

Скорее всего вопрос нубовский или я плохо искал в Гугле, но все же прошу Вас помочь.

У меня есть UILabel. Когда я вызываю SizeToFit(), то получаю фрейм, высота которого больше высоты текста.

8ab05277127a401516b143504cb871e7.png

(красным обозначен Frame лейбла)


Мне кажется, что сверху оставлено место под заглавную букву, однако в моем тексте ее нет. Можно ли как-то сделать так, чтобы текст был плотно прижат к верхней границе UILabel? Спасибо за помощь!
  • Вопрос задан
  • 4308 просмотров
Подписаться 3 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 4
IbrahimKZ
@IbrahimKZ
Почему бы после вызова sizeToFit не написать так:

yourLabel.frame = CGRectMake(yourLabel.frame.origin.x, yourLabel.frame.origin.y, yourLabel.frame.size.width, 14.0);

Если хотите принудительно присвоить 14.
Ответ написан
Krypt
@Krypt
В UIKit есть такой хиддер, UIStringDrawing.h. Я не помню, его или явно надо подключать, или он вместе с UIKit подключается.
Там есть такая штука: sizeWithFont
developer.apple.com/library/ios/documentation/uikit/reference/NSString_UIKit_Additions/Reference/Reference.html#//apple_ref/occ/instm/NSString/sizeWithFont:

В результате получается такая слегка странная конструкция:
CGSize textSize = [label.title sizeWithFont:label.font];
[label setFrame:CGRectmake(label.frame.origin.x, label.frame.origin.y, textSize.width, textSize.heidht)];
Ответ написан
iStyx
@iStyx
Установка Baseline в None не помогает?
Ответ написан
egormerkushev
@egormerkushev
iOS разработчик, автор PixelMixel
Я думаю, что автор habrahabr.ru/company/appsministry/blog/144942/ вам поможет. Напишите ему.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы