0

我正在努力解决如何最大化 UITextView 的内容大小的问题。短处是文本视图中断到第二行,而视觉上仍有空间容纳更多字符。

如果你检查下面的图像。红色文本框设置为 160px 宽度。我正在使用 contentInset = UIEdgeInsetsMake(-8,-8,-8,-8); 删除一些默认填充。但是,这并不能完全消除填充,因为它会偏移内容区域。并且该内容区域永远不会利用完整的 160 像素。

文本框(灰色)显示使用NSString drawInRect呈现的文本。给定相同的 160px 宽度,它会呈现两个额外的字符。

UITextView 中是否有可以删除所有填充并使用全帧的属性?还是解决方法?我试过contentSize没有成功。

在此处输入图像描述

4

1 回答 1

0

UITextView具有NSString绘图方法所没有的填充。据我所知,您无法禁用此填充。一种解决方法是增加视图的框架以解决此填充问题。这很糟糕,但没有官方的方法来解决这个问题。

另一方面,为什么要首先删除填充?经过数小时的试验和辩论,Apple 选择了这种间距,以对触摸屏设备进行最佳优化。接受他们的研发工作并接受他们的填充选择会更好。

如果您只是想显示多行文本,而不需要让文本可编辑或可选择,那么您可以使用UILabelwith label.numberOfLinesset to 0UILabel没有应用任何固有的填充。

于 2013-07-26T21:18:31.000 回答