Swi*_*yJD 1 dynamic frame uilabel ios swift
我正在尝试以编程方式在Swift中创建标签,但我遇到的问题是基于数据模型,文本的数量可能会发生变化,从而改变标签的大小.通常我会在知道文本之前创建这样的标签:
headerLabel.frame = CGRect(x: 0, y: 0, width: screenSize.width/2.5, height: screenSize.height/45)
headerLabel.center = CGPoint(x: screenSize.width/2, y: 245)
Run Code Online (Sandbox Code Playgroud)
但在这种情况下,文本可以是从一行到一个段落的任何数量,因此硬编码高度将不起作用.如何创建标签,以便它可以容纳任何数量的文本?
小智 11
在将文本提供给标签后,您可以访问标签内在属性,然后您可以给出框架.
斯威夫特3:
let label = UILabel()
label.text = "Your text here"
label.textAlignment = .center
label.font = UIFont.systemFont(ofSize: 14)
label.frame = CGRect(x:0,y:0,width:label.intrinsicContentSize.width,height:label.intrinsicContentSize.height)
Run Code Online (Sandbox Code Playgroud)
你可以根据intrinsicContentSize检查一些条件.
希望能帮助到你.
| 归档时间: |
|
| 查看次数: |
8426 次 |
| 最近记录: |