无法根据其文本动态调整标签的高度
Unable to adjust height of a Label dynamically according to its text
我在下面提到了我的代码,我想根据文本调整我的标签高度。在下图中,黑色背景是标签,这个标签被插入到一个 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
}
当我得到label的高度时,我设置了scrollview的高度
let height = getLabelsHeightAccordingToTheTextContent()
let width = outletScrollView.frame.width
以下是标签的属性......................................
为文本添加滚动功能的最简单方法是使用 UITextView。设置与标签大致相同,但内置了滚动功能。
需要注意的一件事是默认情况下允许用户编辑文本,因此无论是在故事板中还是以编程方式,您都应该将 textView 的 editable 设置为 false。
我在下面提到了我的代码,我想根据文本调整我的标签高度。在下图中,黑色背景是标签,这个标签被插入到一个 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
}
当我得到label的高度时,我设置了scrollview的高度
let height = getLabelsHeightAccordingToTheTextContent()
let width = outletScrollView.frame.width
以下是标签的属性......................................
为文本添加滚动功能的最简单方法是使用 UITextView。设置与标签大致相同,但内置了滚动功能。
需要注意的一件事是默认情况下允许用户编辑文本,因此无论是在故事板中还是以编程方式,您都应该将 textView 的 editable 设置为 false。