UITableViewCell textLabel обрезан - PullRequest
       2

UITableViewCell textLabel обрезан

5 голосов
/ 06 апреля 2011

Я вижу странное поведение в одном из моих UITableViewCell с. При установке шрифта textLabel курсивным шрифтом ([UIFont fontWithName:@"Helvetica-BoldOblique" size:17]) несколько пикселей в конце обрезаются. Это не выглядит действительно плохо, но я бы хотел этого избежать. Есть предложения?

Изображение http://i56.tinypic.com/2ylplau.png

Я использую UITableViewCell по умолчанию, так как мне нужен только один UILabel, поэтому нет необходимости создавать подклассы. Я попытался позвонить [cell.textLabel sizeToFit] после установки шрифта, но это не сработало.

Ответы [ 2 ]

4 голосов
/ 13 апреля 2011

Как указывалось в occulus, UILabel недостаточно широко для курсивного текста.Однако, поскольку я использую значение по умолчанию UITableViewCell, я не могу изменить это.(Кажется, кадр textLabel установлен в какой-то неизвестной мне точке. Когда вызывается -tableView:willDisplayCell:forRowAtIndexPath:, он все равно CGRectZero.)

Таким образом, кажется, что единственным решением является добавление пробела в концемоя строка, как предложил Ник Уивер:

cell.textLabel.text = [NSString stringWithFormat:@"%@ ", cell.textLabel.text];
3 голосов
/ 06 апреля 2011

Проблема не в курсиве; просто ваша UILabel недостаточно широка. Убедитесь, что он имеет достаточную ширину для размещения текста, который вы хотите.

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

Курсив как раз показывает тот факт, что ваша UILabel не очень широка, и вы просто собирались "сойти с рук" раньше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...