How to set row height based on its content in tabl

2019-04-28 13:42发布

问题:

Generally, table has a fixed row height but according to my requirements I need to set height of each row according to content within it.

Can anyone suggest me some solution for it?

Thanks,

Miraaj

回答1:

The table view delegate protocol has a tableView:heightOfRow that lets you set the height of each row in the table view.



回答2:

Thanks all for your suggestions and help. This problem is now resolved using following code in tableView:heightOfRow:

float colWidth = [[[tableView tableColumns] objectAtIndex:1]width];

NSString *content = [[[tempArray objectAtIndex:row] objectForKey:@"tValue"] string];

float textWidth = [content sizeWithAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[NSFont fontWithName:@"Lucida Grande" size:15],NSFontAttributeName ,nil]].width;

float newHeight = ceil(textWidth/colWidth);

newHeight = (newHeight * 17) + 13;
if(newHeight < 47){
    return 47;
}   
return newHeight;