UITextView提前破线

时间:2013-07-26 21:06:17

标签: ios objective-c ios5 uitextview

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

如果您查看下面的图片。红色文本框设置为160px宽度。 我正在使用contentInset = UIEdgeInsetsMake(-8,-8,-8,-8); 来删除一些默认填充。然而,这并不是删除填充,因为它会偏移内容区域。并且该内容区域从不利用完整的160px。

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

UITextView中是否有可以删除所有填充并使用完整帧的属性?还是一个解决方法?我已经尝试 contentSize 但没有成功。

enter image description here

1 个答案:

答案 0 :(得分:1)

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

另一方面,为什么要首先删除填充? Apple经过数小时的实验和辩论后选择了这种间距,以便最好地优化触摸屏设备。你会更好地接受他们的R& D努力并接受他们的填充选择。

如果您只是想要显示多行文字,而无需让文字可编辑或可选择,那么您可以使用设置为UILabel的{​​{1}} label.numberOfLines0没有应用任何固有的填充。