我有一个UITableViewController,它有不同的部分和行,我以编程方式创建它们,我希望每个部分都有特定的高度
请您告诉我如何为每一部分提供特定的高度?
提前致谢!
正如你所看到的,因为我使用了heightForRowAtIndexPath:我的部分中的每一行都有相同的高度,但我希望每个部分都有特定的高度
![在此输入图片说明] [2]
我知道我们有 heightForHeaderInSection 和 heightForFooterInSection ,但我如何在一个表格中为多个部分添加特定的高度
以下是代码:
修改
如果我使用此代码,那么我的部分之间有很大的空间,但我希望在不同部分的每一行都有特定的高度
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
switch (section) {
case 0:
return 40;
break;
case 1:
return 40;
break;
case 2:
return 80;
break;
default:
return 40;
break;
}
}
答案 0 :(得分:2)
根据
部分为不同的案件返回不同的高度- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
switch (indexPath.section) {
case 0:
return your_req_height;
break;
default:
break;
}
}
NSIndexPath
同时提供行和部分,因此您可以为部分中的每一行返回不同的高度。
应该补充一点,这个方法看起来很脆弱,因为你要将一个特定的部分/行对绑定到一个固定的高度。您应该使用标记设置表项,指示每个部分/行对中的内容类型。
答案 1 :(得分:1)
您需要添加此代码。这将返回CheckBoxCompensationViewCell类型单元格的自定义高度。只需用CheckBoxCompensationViewCell的高度替换your_required_height即可。我试过60.
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
switch (indexPath.section) {
//Since you have custom cells i-e CheckBoxCompensationViewCell type cells in this section, you need to return custom cell height in tableview
case 2:
return 60; //i am supposing your_required_height is 60
//return your_required_height; //height of CheckBoxCompensationViewCell
break;
default:
return 44; //default_height of tableview cell
break;
}
}