UITextView自动调整大小以调整单行iOS Objective -C
Posted
技术标签:
【中文标题】UITextView自动调整大小以调整单行iOS Objective -C【英文标题】:UITextView autoresize to adjust on a single line iOS Objective -C 【发布时间】:2018-06-08 16:05:34 【问题描述】:我有一个名为 ratingtext 的标签,我希望它的内容通过在多行的情况下调整高度来适应单行文本。我如何在 ios Objective -C 中实现这一点。
我的标签:
如您所见,标签显示为 200/20,称为 ratingtext 标签。实际上这个值是 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];
【问题讨论】:
你试过UILabel
而不是UITextView
吗?
【参考方案1】:
如果您使用情节提要,autoLayout 将扩展框架以匹配文本输入的大小。在属性检查器中,将宽度 textLabel “关系”设置为“小于或等于”。我在情节提要中给了文本标签 200/20,并在代码中将其设置为 200/200。自动布局负责其余的工作。
【讨论】:
【参考方案2】:使用以下属性:
adjustsFontSizeToFitWidth
contentScaleFactor
minimumFontSize
【讨论】:
以上是关于UITextView自动调整大小以调整单行iOS Objective -C的主要内容,如果未能解决你的问题,请参考以下文章
xcode/iOS:自动调整大小以填充视图 - 显式帧大小是必不可少的吗?
UITextView 以编程方式调整大小,但随后设置为旧的故事板值。