Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/103.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 设置UIlabel的高度_Ios_Swift_Uitableview_Uilabel_Ios9 - Fatal编程技术网

Ios 设置UIlabel的高度

Ios 设置UIlabel的高度,ios,swift,uitableview,uilabel,ios9,Ios,Swift,Uitableview,Uilabel,Ios9,我有一个标签位于自定义uitableview单元格中。我正在使用自动布局来定位标签。我的问题是,如果没有任何文本,如何将标签的高度设置为零。或者如何使标签高度为0。该项目支持ios 8,因此使用stackview是不可能的。标签也是扩展性的,我不能设置恒定的高度限制。我的布局如下所示 您可以将标签的高度约束设置为>=0。标签将根据内容更新其大小,如果缺少文本,高度将为0 在tableviewcell中,除了UILabel需要隐藏的限制外,还提供高度限制。更改tableviewcell的高度,使其

我有一个标签位于自定义uitableview单元格中。我正在使用自动布局来定位标签。我的问题是,如果没有任何文本,如何将标签的高度设置为零。或者如何使标签高度为0。该项目支持ios 8,因此使用stackview是不可能的。标签也是扩展性的,我不能设置恒定的高度限制。我的布局如下所示

您可以将标签的高度约束设置为>=0。标签将根据内容更新其大小,如果缺少文本,高度将为0


在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是文本标签的长度