无法根据文本动态调整Label的高度

时间:2016-06-20 07:56:57

标签: ios swift uiscrollview uilabel

我在下面提到了我想要根据文字调整标签高度的代码。在下图中,黑色背景是标签,此标签插入UIScrollView。标签与滚动视图的左上角对齐,但是当我运行我的应用程序时,以下是视图控制器的显示,即标签远远低于滚动视图的左上角。请帮我解决这个问题     enter image description here

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
    }

当我得到标签的高度时,我设置了scrollview的高度

let height = getLabelsHeightAccordingToTheTextContent()
        let width = outletScrollView.frame.width

以下是标签的属性.................................... enter image description here

1 个答案:

答案 0 :(得分:1)

为文本添加滚动功能的最简单方法是使用UITextView。设置或多或少与标签相同,但内置滚动。

需要注意的一点是,默认情况下允许用户编辑文本,因此无论是在故事板还是以编程方式,您都应该为textView设置editable为false。