【发布时间】:2017-12-21 04:33:33
【问题描述】:
所以目前,我有一个看起来像这样的 tableviewcell
我想要发生的是,如果日期的开销已经存在,顶部标签应该消失,tableviewcell 高度应该从 95 减少到 64,并且所有内容都应该居中对齐。有点像
我尝试了很多方法。
使用 2 个不同的单元格并切换,但这不起作用,因为一次只返回一项费用,而且我的 tableviewcontroller 没有正确填充。
尝试使用堆栈视图,但在这种情况下,我无法让约束与当前的匹配。
我在 heightForRowAtIndexPath 方法中返回了所有正确的行高,但它集中降低了高度并且一些数据被剪切了。
如何实现我想要做的事情(标签不可见,行高减小,所有内容垂直居中)?
这里是切换单元格的代码。
func tableView(_ tableView: UITableView,
heightForRowAt indexPath: IndexPath) -> CGFloat
{
if newMode==true {
return 95
}
else if newMode==false {
return 64
}
else {
return 0
}
}
这可行,但是它降低了顶部和底部的高度,我只希望降低顶部的高度。
【问题讨论】:
-
你能提供相关的代码吗?使用stackview应该可以完成。
-
使用stackView,一切都在一条线上,我无法应用约束。
-
发布您的代码@A.G
-
完成了,您还需要其他代码吗?
-
@A.G 获取该标签的高度约束的出口,并在填充表格视图之前,检查是否存在日期费用,如果是,则设置高度约束 = 0 并更新单元格高度因此。我想你可以在这里使用枚举。
标签: ios uitableview swift3 autolayout