Ios 设置UIlabel的高度
我有一个标签位于自定义uitableview单元格中。我正在使用自动布局来定位标签。我的问题是,如果没有任何文本,如何将标签的高度设置为零。或者如何使标签高度为0。该项目支持ios 8,因此使用stackview是不可能的。标签也是扩展性的,我不能设置恒定的高度限制。我的布局如下所示 您可以将标签的高度约束设置为>=0。标签将根据内容更新其大小,如果缺少文本,高度将为0Ios 设置UIlabel的高度,ios,swift,uitableview,uilabel,ios9,Ios,Swift,Uitableview,Uilabel,Ios9,我有一个标签位于自定义uitableview单元格中。我正在使用自动布局来定位标签。我的问题是,如果没有任何文本,如何将标签的高度设置为零。或者如何使标签高度为0。该项目支持ios 8,因此使用stackview是不可能的。标签也是扩展性的,我不能设置恒定的高度限制。我的布局如下所示 您可以将标签的高度约束设置为>=0。标签将根据内容更新其大小,如果缺少文本,高度将为0 在tableviewcell中,除了UILabel需要隐藏的限制外,还提供高度限制。更改tableviewcell的高度,使其
在tableviewcell中,除了UILabel需要隐藏的限制外,还提供高度限制。更改tableviewcell的高度,使其正常工作 例如,UILabel高度为“30”,tableviewcell高度为130。您可以在单元格高度中指定130-30=100
//only sample code
func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
if indexPath.row == 0
return 130
else
return 100
}另一种解决方案是,设置高度约束,取其
出口
,并在文本为零时将其常数
设置为零
只需按住ctrl键并从高度约束拖动到类,即可将插座连接到约束
然后你可以通过改变它的常数,在需要的时候通过编程改变它的高度
比如说,
@IBOutlet weak var labelHeightConstraint: NSLayoutConstraint!
并且不断地变化,就像
self.labelHeightConstraint.constant = 0
希望这会有所帮助:)首先设置标签的高度约束。按住ctrl键并将高度约束拖动到类,以将出口连接到约束。i、 e @IBOutlet弱var LabelHeightConstraint:NSLayoutConstraint 在实现中,将标签的高度约束设置为零。如下图所示
self.LabelHeightConstraint.constant = 0;
if(check the label contains data)
{
self.LabelHeightConstraint.constant = 20;
}
else
{
self.LabelHeightConstraint.constant = 0;
}
此逻辑肯定会起作用……在需要时将文本设置为零,并将包含内容的优先级设置为高只需删除高度限制,并且numberOfLines应为0,因此只有top/leading/training限制。没有高度限制,行数为零。实际上,标签根据其内容计算其大小。但是,当文本设置为零时,它将占用单行标签的空间。如果只有3个约束,如顶部/前导/尾随,它将起作用。请仔细检查是否添加了底部约束?是的,它有四个约束。(屏幕截图中的内容标签)它有四个约束。包含搜索图标的视图(透明)的前导、顶部、尾部和底部。删除
UILabel
的底部约束对您来说很好,这就是为什么一行是可见的标签是可扩展的。。因此,要使这项工作正常进行,我需要一种方法来动态计算label@Martin.. 要使标签扩展,请将宽度约束设置为标签,即self.labelwidthsconstraint.constant=10*count,其中count是文本标签的长度