我正在制作一个表格视图,其中单元格高度根据内容是动态的。因此,当单元格的内容更多时,单元格的顶部和底部边距更多,如果任何特定单元格的内容较少,则顶部和底部边距太少,但我希望每个人的边距都相同,而与内容无关。
我说的是第一个单元格,其中边距只是随机的(基于内容),我希望顶部和底部边距与任意数量的内容相同。我没有使用自定义单元格。
任何帮助都会非常感激,我已经为此付出了很多时间。如果你想要我的代码,我可以在这里过去..
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
if (indexPath.section == 0) {
NSString *session_name = [self.parentDetailArray valueForKey:@"session_name"];
NSString *venue = [session_name stringByAppendingString:[self.parentDetailArray valueForKey:@"venue"]];
NSString *tmp_name_venue = [session_time stringByAppendingString:venue];
if(![self.parentDetailArray valueForKey:@"speakers"] || ![[self.parentDetailArray valueForKey:@"speakers"] isEqual:@""])
{
NSString *speaker_label = @"Speakers: ";
NSString *speakers = [[NSString alloc]init];
speakers = [self.parentDetailArray valueForKey:@"speakers"];
speakers = [speaker_label stringByAppendingString:speakers];
tmp_name_venue = [speakers stringByAppendingString:tmp_name_venue];
}
NSLog(@"%@", tmp_name_venue);
CGSize detailTextViewSize = [tmp_name_venue sizeWithFont:[UIFont fontWithName:@"Roboto-Light" size:18]constrainedToSize:CGSizeMake(296, FLT_MAX)lineBreakMode:UILineBreakModeTailTruncation];
if(detailTextViewSize.height <37)
{
return 40;
}
if(detailTextViewSize.height >tmp_name_venue.length)
{
return detailTextViewSize.height;
}
else
{
detailTextViewSize.height = [tmp_name_venue length];//Here i'm just attempting to get the margin right.
return detailTextViewSize.height;
}
}