所以我想制作像Instagram这样的时间线内容,我在我的uitableview上使用自定义单元格。我的问题是我已经在故事板上将单元格高度设置为345,但我得到如下的单元格表:
这是我在故事板上的自定义单元格:
我该如何解决,所以我可以在故事板上得到结果?
答案 0 :(得分:29)
您遇到此问题的原因是您可能已将自定义tableview单元格的行高设置为345,但在UITableview的行高小于345时未将其设置为自定义。因此,您需要做的就是去到故事板并选择表(UITableview)并将其行高设置为可能的最大行高。
让我们假设你将有两种不同的行高。一个用345而另一个用325.如325< 345,你将tableview的行高设置为345.
现在,选择自定义tableview单元格并将其行高设置为自定义,并将其设置为345或325.在您的情况下,它将为345。
现在应该很好。
但是,当您具有不同的单元格大小时,更合适的方法是使用委托方法进行行高规范。
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
if(indexPath.row==0){
return 345;
}
else if(indexPath.row==1){
return 325;
}
else{
return 300; //a default size if the cell index path is anything other than the 1st or second row.
}
}
答案 1 :(得分:4)
使用此delegate
方法:
func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
return 345
}
答案 2 :(得分:2)
在您的UITableViewController子类中,设置self.tableView.rowHeight = 345
。可能是故事板高度未被翻译的错误。
答案 3 :(得分:1)
您可以在此处设置表视图单元格高度。