Pet*_*Pik 6 iphone uilabel ios swift
我在我的Cell Subclass中有UILabel,假设有一个标题.标题的大小可以是各种长度,因此我需要调整UILabel的大小以适应文本,并防止文本不长,我还需要能够设置maxHeight.宽度应该相同.如何在tableViewCell子类中的swift中创建这样的代码?
到目前为止,我在awakeFromNib中有这个
theTitleLabel?.font = UIFont(name: "HelveticaNeue", size: 13)
theTitleLabel?.textColor = UIColor(rgba: "#4F4E4F")
theTitleLabel?.numberOfLines = 0
theTitleLabel?.lineBreakMode = NSLineBreakMode.ByTruncatingTail
Run Code Online (Sandbox Code Playgroud)
CGSize maximumLabelSize = CGSizeMake(MAX_WIDTH, MAX_HEIGHT);
CGSize expectedSize = [lbl sizeThatFits:maximumLabelSize];
CGSize s = CGSizeMake(STATIC_WIDTH, expectedSize.height);
yourLabel.frame = CGRectMake(yourLabel.frame.origin.x, nameLbl.frame.origin.y, s.width, s.height);
Run Code Online (Sandbox Code Playgroud)
最简单的方法是使用自动布局约束。您正在使用awakeFromNib,所以我假设您在 Interface Builder(xib 或 Storyboard 文件)中的某个位置有该单元。
如果可以避免的话,永远不要在代码中设置视图。在 Interface Builder 中做到这一点要容易得多。
在界面生成器中找到您的标签并设置其属性(字体、颜色、换行模式等)。
添加宽度约束(或对左右边距的约束,具体取决于您想要的)。
添加高度约束,将其关系从 更改= (equals)为< (less than)。
您已完成,无需任何代码。
| 归档时间: |
|
| 查看次数: |
7287 次 |
| 最近记录: |