UITextView 自动调整大小以调整单行 iOS Objective -C

UITextView autoresize to adjust on a single line iOS Objective -C

我有一个名为 ratingstext 的标签,我希望在多行的情况下通过调整高度使其内容适合单行文本。我如何在 iOS Objective -C.

中实现

我的标签:

如您所见,标签显示 200/20,称为 ratingstext 标签。实际上这个值是 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];

使用以下属性:

adjustsFontSizeToFitWidth
contentScaleFactor
minimumFontSize

如果您使用故事板,autoLayout 将扩展框架以匹配文本输入的大小。在 Attributes Inspector 中,将 textLabel 的宽度设为 "Relation" 至 "Less Than or Equal"。我在情节提要中给了文本标签 200/20,并在代码中将其设置为 200/200。 Auto Layout 负责剩下的工作。