无法根据标签的文本动态调整标签的高度
Posted
技术标签:
【中文标题】无法根据标签的文本动态调整标签的高度【英文标题】:Unable to adjust height of a Label dynamically according to its text 【发布时间】:2016-06-20 07:56:57 【问题描述】:我在下面提到了我想根据文本调整标签高度的代码。在下图中,黑色背景是标签,这个标签被插入到 UIScrollView 中。标签与滚动视图的左上角对齐,但是当我运行我的应用程序时,以下是视图控制器的显示,即标签已远远低于滚动视图的左上角。请在这件事上帮助我
func getLabelsHeightAccordingToTheTextContent() -> CGFloat
let label:UILabel = UILabel(frame: CGRectMake(0, 0, 250, CGFloat.max))
label.numberOfLines = 0
label.font = outletLabel.font
label.text = outletLabel.text
label.lineBreakMode = NSLineBreakMode.ByWordWrapping
var fontName: String = outletLabel.font.fontName
label.font = UIFont (name: fontName, size: outletLabel.font.pointSize)
label.sizeToFit()
return label.frame.height
当我得到标签的高度时,我设置了滚动视图的高度
let height = getLabelsHeightAccordingToTheTextContent()
let width = outletScrollView.frame.width
以下是标签的属性.......................
【问题讨论】:
您是否使用滚动视图以便人们可以滚动浏览文本? 查看链接以执行此操作..***.com/questions/25180443/… 我希望这会对您有所帮助.. 换行模式应该是自动换行 是的,废弃标签和滚动视图并添加一个 UITextView 并将其属性设置为与标签相同。然后在情节提要中将 TextView 的编辑属性设置为 false,这样人们就无法输入它。也许现在在情节提要中添加 textView 但不要删除标签和滚动视图,只需在 viewDidLoad 中将其隐藏属性设置为 true。然后,如果你想回到你当前的方法,你可以。 没问题 :) 我会把它写下来作为任何发现相同问题的人的正确答案 【参考方案1】:为文本添加滚动功能的最简单方法是使用 UITextView。设置或多或少与标签相同,但内置滚动。
需要注意的一点是,默认情况下允许用户编辑文本,因此无论是在情节提要中还是以编程方式,您都应该将 textView 的 editable 设置为 false。
【讨论】:
以上是关于无法根据标签的文本动态调整标签的高度的主要内容,如果未能解决你的问题,请参考以下文章