UILabel中的自动收缩仅适用于宽度?

时间:2015-03-28 21:21:55

标签: ios swift

我有一些ASCII语法图,中间不能有换行符。

这些不必编辑,所以我认为最好的方法是使用带自动缩小选项的UILabel。但是,如果内容不适合标签框架矩形的高度,则此选项也会缩小文本。

我只想在内容不适合宽度时缩小。在文本中垂直滚动是绝对可以的。

使用UILabel或任何其他UI元素执行此操作的最佳方法是什么?

2 个答案:

答案 0 :(得分:0)

将UITextView与'editable'属性设置为false。

答案 1 :(得分:0)

所以让我重新提一下你的问题。我想你想要的是一个可以显示多行的UILabel,但是最长的行需要适合UILabel的宽度。如果这就是你想要的,那么想象力对我来说很奇怪......

但无论如何,我觉得你的设置存在冲突。首先,允许多行意味着您将“Lines”属性(行数)设置为0,这允许无限制的行。但随后Autoshrink将不起作用。我担心只能设置故事板是不可能的,相反,你需要编写一些代码。

我猜人们之前提出过相关问题,他们希望在文本太长时动态更改字体大小。我想你想看看这个:

Autoshrink on a UILabel with multiple lines

最后一个问题是你也想要滚动效果(这就是为什么我觉得外观会很奇怪。)但总之,要实现这一点,你需要1)动态改变UILabel高度,很可能使用相同的技术在参考线程中解释,2)在滚动视图中包装UILabel。也许这可以达到你想要的效果。