友
我正在INT
上工作,我想在Button Click上动态调整UITableView
的大小。但问题是我没有得到如何计算和动态指定单元格的高度。我试过但它会重叠单元格内容。
所以请给我你的建议..
TableViewCell
答案 0 :(得分:1)
对于可变高度单元格,您需要实现tableView:heightForRowAtIndexPath:
答案 1 :(得分:0)
在代码中添加以下方法并返回给定索引路径所需的高度,它会自动调整单元格的大小。
tableView:heightForRowAtIndexPath:
答案 2 :(得分:0)
我会建议:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
[tableView beginUpdates];
[tableView endUpdates];
}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
if([indexPath isEqual:[tableView indexPathForSelectedRow]]) {
return 100.0;
}
return 50.0;
}
答案 3 :(得分:0)
UITableView
有委托方法设置,即tableView:heightForRowAtIndexPath:
..
如果你要求合乎逻辑的答案,我会说...在查看加载时显示你的表...拿一个标志来检查tableView:heightForRowAtIndexPath:
中点击的按钮..将它保持为0 { {1}}和加载表。在按钮上单击更改为1并重新加载表。
viewDidLoad
答案 4 :(得分:0)
根据内容使用此代码更改hight
func calcheight(strin:String) -> CGFloat
{
let label = UILabel(frame: CGRect(x: 0, y: 0, width: UIScreen.main.bounds.size.width, height: CGFloat.greatestFiniteMagnitude))
label.numberOfLines = 0
label.text = strin
label.sizeToFit()
return label.frame.height + 2
}
(2)然后将此代码复制到StringContent对象中的Contenct对象
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat
{
let height = self.calcheight(strin: StringContentObject)
return height
}
此代码不需要自动布局