UITextView авторазмера для настройки на одной строке iOS Objective -C - PullRequest
0 голосов
/ 08 июня 2018

У меня есть метка под названием RatingStext, и я хочу, чтобы ее содержимое помещалось в одну строку текста с помощью регулировки высоты в случае нескольких строк.Как мне добиться этого в iOS Objective -C.

Мой ярлык:

enter image description here

, как вы можетесм. ярлык показывает 200/20 и называется меткой рейтингового текста.На самом деле это значение 200/200, но поскольку я использовал

    self.ratingsText.textContainer.maximumNumberOfLines = 1;

, последнее значение 0 обрезается из-за фиксированной ширины метки.Как автоматически настроить ширину или высоту, чтобы вместить содержимое в одну строку?

Мой код:

self.ratingsText = [[UITextView alloc]initWithFrame:self.frame];
self.ratingsText.editable = NO;
self.ratingsText.text = @"000/00";

self.ratingsText.textContainer.maximumNumberOfLines = 1;

self.ratingsText.font = [UIFont systemFontOfSize:self.ratingSize weight: UIFontWeightRegular];
[self.ratingsText sizeToFit];
self.ratingsText.backgroundColor = UIColor.clearColor;
[self addSubview:self.ratingsText];

Ответы [ 2 ]

0 голосов
/ 08 июня 2018

Если вы используете раскадровку, autoLayout расширит рамку, чтобы соответствовать размеру текстового ввода.В Инспекторе Атрибутов сделайте ширину textLabel "Отношение" к "Меньше, чем или равно".Я дал текстовую метку в раскадровке 200/20 и в коде установил ее на 200/200.Auto Layout позаботился об остальном.Less Than or Equal

0 голосов
/ 08 июня 2018

Используйте следующие свойства:

adjustsFontSizeToFitWidth
contentScaleFactor
minimumFontSize
...