我正在尝试使用UIStackViews和autolayout创建动态高度行,所以下面是我的UITableViewCell xib。
因为你可以看到它里面有所有的stackViews。我尝试使用估计行高和委托函数。但没有成功。
所以这是我的一些疑问。
1)设计动态高度行时要记住的要点。 2)在我目前的情况下我做错了什么。
答案 0 :(得分:1)
Ranjit,在这种情况下没有必要使用UIStackView
,
您可以在不使用UIStackView
的情况下轻松处理此问题。这是给你的提示。
在找到估计的行高之前,您应该应用一些Autolayout技巧。
您只需为UIImageView
添加高度和宽度约束。并为UIImageView
添加领先空间和顶部空间。
然后为单元格中的第一个标签添加尾随空格和前导空格。并将顶部对齐到UIImageView
。
为第二个标签添加顶部,前导和尾随空格。
添加日历图像的高度和宽度,并将顶部空间添加到第二个标签,然后将前导对齐到第二个标签(右键单击并从日历图像拖动到第二个标签)。将尾随空格添加到第三个标签。
在第3个标签上,将顶部空间添加到第二个标签或中心对齐日历图像。添加尾随空格到容器和底部空间。
在第4个标签上(UIImageView
下),您应该在日历图像上添加一个尾随空格,并将中心对齐到日历图像。将引导空间添加到容器中。
确保所有持有标签的大数据的行数为" 0"。
现在所有组件都满足x和y值。它有助于找到您的tableview的估计行高。
-(CGFloat)tableView:(UITableView *)tableView estimatedHeightForRowAtIndexPath:(NSIndexPath *)indexPath
{
return UITableViewAutomaticDimension;
}
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
return UITableViewAutomaticDimension;
}
现在您的表格视图可以自动选择高度。希望你有想法。
答案 1 :(得分:0)
在当前情况下我做错了什么。
我看到2个大问题:
您似乎已经从2列设计中获取布局,所以我将继续。
这是我的布局。
这里是单元格渲染了3次。
这与您所需的布局不完全匹配。但是,我想创建一个与您的布局接近的布局,同时还要使用尽可能多的默认属性。我只更改了默认值的两件事。
如果要微调此布局,则应使用堆栈视图的间距,分布和对齐方式。
注意:“ 2列”堆栈视图具有4个约束,以使视图的前导/尾随/顶部/底部为0。没有其他约束。