我正与Tableview
中的Objective C
合作。
我在TableView单元格中有4个标签。我想根据内容大小扩展Comment Body标签和Answer Body标签。如何使用AutoLayout。请帮帮我
如何根据内容设置标签的动态高度?
tableview
的ScreenShot如下所示。
答案 0 :(得分:0)
约束
评论正文: - 顶部,尾随,底部
答案正文: - 顶部,尾部,底部
评论: - 中心y到注释主体,前导,水平到注释主体,修复宽度
答案: - 中心y回答身体,领先,水平到答案身体,修复宽度
numberOfLine
0表示动态标签
<强>代码强>
将以下代码添加到ViewDidLoad
或ViewWillAppear
self.tableView.rowHeight = UITableViewAutomaticDimension;
self.tableView.estimatedRowHeight = 80;
注意:删除heightForRow
答案 1 :(得分:0)
你的约束应该是,
Comment
- &gt;顶部,前导(左侧),固定宽度,固定高度
Answer
- &gt;顶部,前导,固定宽度,固定高度
Comment Body
- &gt;顶部,前导,尾随(右侧),固定高度(大于或等于某个常数值),底部
Answer Body
- &gt;顶部,领先,尾随,底部
确保comment body
和answer body
的行数必须为0
。
你必须为你的桌面视图设置估算高度和行高,
self.yourTableView.estimatedRowHeight = 50;
self.yourTableView.rowHeight = UITableViewAutomaticDimension;
OR
-(CGFloat)tableView:(UITableView *)tableView estimatedHeightForRowAtIndexPath:(NSIndexPath *)indexPath {
return 50;
}
- (CGFloat)tableView:(UITableView *)_tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
return UITableViewAutomaticDimension;
}