我正在努力解决如何最大化UITextView的内容大小的问题。缺点是文本视图突破到第二行,而视觉上仍有空间来容纳更多字符。
如果您查看下面的图片。红色文本框设置为160px宽度。 我正在使用contentInset = UIEdgeInsetsMake(-8,-8,-8,-8); 来删除一些默认填充。然而,这并不是删除填充,因为它会偏移内容区域。并且该内容区域从不利用完整的160px。
文本框(灰色)显示使用 NSString drawInRect 呈现的文本。给定相同的160px宽度,它会渲染两个额外的字符。
UITextView中是否有可以删除所有填充并使用完整帧的属性?还是一个解决方法?我已经尝试 contentSize 但没有成功。
答案 0 :(得分:1)
UITextView
具有NSString
绘图方法所没有的填充。据我所知,您无法禁用此填充。解决方法是增加视图的框架以考虑此填充。它很糟糕,但没有官方的方法来解决这个问题。
另一方面,为什么要首先删除填充? Apple经过数小时的实验和辩论后选择了这种间距,以便最好地优化触摸屏设备。你会更好地接受他们的R& D努力并接受他们的填充选择。
如果您只是想要显示多行文字,而无需让文字可编辑或可选择,那么您可以使用设置为UILabel
的{{1}} label.numberOfLines
。 0
没有应用任何固有的填充。